AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PCMCIA Karten erkennen

Ein Thema von lbccaleb · begonnen am 20. Apr 2008 · letzter Beitrag vom 31. Jul 2008
Antwort Antwort
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#1

PCMCIA Karten erkennen

  Alt 20. Apr 2008, 14:02
hey there,


ich bin schon so lange auf der suche doch irgendwie noch ncihts gescheites gefunden, deswegen hoff ich mal das ihr mir weiterhelfen könnt (wie schon viele male zuvaor^^)

naja wie der titel schon sagt würde ich gerne herrausfinden, ob eine umts pcmcia karte an den slot im komputer angeschlossen ist, nur hab ich absolut kein plan wie ich das anstelle, hat da jemand nütliche tips oder codeschnipsel für mich im angebot???

danke schon mal im vorraus...


ps: ich hoff mal das die richtige kategorie, es geht ja um hardware und internet/umts/gprs...




mfg Caleb
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: PCMCIA Karten erkennen

  Alt 20. Apr 2008, 14:03
Sollte mit Hilfe der Setup-Api bzw. WMI möglich sein.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: PCMCIA Karten erkennen

  Alt 20. Apr 2008, 14:16
kennst du dich damit auch noch nen bissel genauer aus?? weil ich brauch ja quasi nur herrausfinden ob eine bestimmte karte angeschlossen ist...

naja ich hab hier noch was gefunden:

delphi treff

nur so richtig schglau macht mich das auch noch nicht ;-(
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: PCMCIA Karten erkennen

  Alt 20. Apr 2008, 14:20
http://www.delphipraxis.net/internal...t.php?t=112689
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: PCMCIA Karten erkennen

  Alt 20. Apr 2008, 14:24
Zitat von mkinzler:
http://www.delphipraxis.net/internal_redirect.php?t=112689

danke schau ich mir gleich mal an, hab hier aber auch noch was gefunden (was so aussieht als währe das für mich schon ne gute/richtige richtung, das ist leider aber c++ und das versteh ich nicht... vltt kann mir da ja auch noch jemand tips geben, das ist von der msdn seite:



Code:
#include <windows.h>
#include <dbt.h>
#include <strsafe.h>

void Main_OnDeviceChange (HWND hwnd, WPARAM wParam, LPARAM lParam);
char FirstDriveFromMask (ULONG unitmask); //prototype

/*------------------------------------------------------------------
   Main_OnDeviceChange (hwnd, wParam, lParam)

   Description
      Handles WM_DEVICECHANGE messages sent to the application's
      top-level window.
--------------------------------------------------------------------*/

void Main_OnDeviceChange (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
   PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
   char szMsg[80];

   switch(wParam)
   {
      case DBT_DEVICEARRIVAL:
         // Check whether a CD or DVD was inserted into a drive.
         if (lpdb -> dbch_devicetype == DBT_DEVTYP_VOLUME)
         {
            PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;

            if (lpdbv -> dbcv_flags & DBTF_MEDIA)
            {
               StringCchPrintf (szMsg, 80, "Drive %c: Media has arrived.\n",
                         FirstDriveFromMask(lpdbv ->dbcv_unitmask));

               MessageBox (hwnd, szMsg, "WM_DEVICECHANGE", MB_OK);
            }
         }
         break;

      case DBT_DEVICEREMOVECOMPLETE:
         // Check whether a CD or DVD was removed from a drive.
         if (lpdb -> dbch_devicetype == DBT_DEVTYP_VOLUME)
         {
            PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;

            if (lpdbv -> dbcv_flags & DBTF_MEDIA)
            {
               StringCchPrintf (szMsg, 80, "Drive %c: Media was removed.\n",
                         FirstDriveFromMask(lpdbv ->dbcv_unitmask));

               MessageBox (hwnd, szMsg, "WM_DEVICECHANGE", MB_OK);
            }
         }
         break;

      default:
           /*
              Process other WM_DEVICECHANGE notifications for other
              devices or reasons.
           */ 
            ;
   }
}

/*------------------------------------------------------------------
   FirstDriveFromMask (unitmask)

   Description
     Finds the first valid drive letter from a mask of drive letters.
     The mask must be in the format bit 0 = A, bit 1 = B, bit 3 = C,
     etc. A valid drive letter is defined when the corresponding bit
     is set to 1.

   Returns the first drive letter that was found.
--------------------------------------------------------------------*/

char FirstDriveFromMask (ULONG unitmask)
{
   char i;

   for (i = 0; i < 26; ++i)
   {
      if (unitmask & 0x1)
         break;
      unitmask = unitmask >> 1;
   }

   return (i + 'A');
}
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

Re: PCMCIA Karten erkennen

  Alt 20. Apr 2008, 17:28
Ich habe ein PCMCIA-UMTS-Modem von HUAWEI, das 3 virtuelle COM-Ports belegt (7[480000],8[9600],9[9600]).
Es hat einen Diagnose-Modus, der genau so funktioniert wie bei anderen Modems auch, d.h. über AT-Befehle (z.B. initialization string "ATE1") kann es angesprochen werden. Ist es vorhanden, wird eine entsprechende Antwort geliefert.

Mit folgendem Script lassen sich viele interessante Werte auslesen:
(lässt sich auch in DELPHI umsetzen)

Delphi-Quellcode:
On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("MOBILE")
For Each strComputer In arrComputers
   WScript.Echo
   WScript.Echo "=========================================="
   WScript.Echo "Computer: " & strComputer
   WScript.Echo "=========================================="

   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_POTSModem", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

   For Each objItem In colItems
      WScript.Echo "AnswerMode: " & objItem.AnswerMode
      WScript.Echo "AttachedTo: " & objItem.AttachedTo
      WScript.Echo "Availability: " & objItem.Availability
      WScript.Echo "BlindOff: " & objItem.BlindOff
      WScript.Echo "BlindOn: " & objItem.BlindOn
      WScript.Echo "Caption: " & objItem.Caption
      WScript.Echo "CompatibilityFlags: " & objItem.CompatibilityFlags
      WScript.Echo "CompressionInfo: " & objItem.CompressionInfo
      WScript.Echo "CompressionOff: " & objItem.CompressionOff
      WScript.Echo "CompressionOn: " & objItem.CompressionOn
      WScript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
      WScript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
      WScript.Echo "ConfigurationDialog: " & objItem.ConfigurationDialog
      strCountriesSupported = Join(objItem.CountriesSupported, ",")
         WScript.Echo "CountriesSupported: " & strCountriesSupported
      WScript.Echo "CountrySelected: " & objItem.CountrySelected
      WScript.Echo "CreationClassName: " & objItem.CreationClassName
      strCurrentPasswords = Join(objItem.CurrentPasswords, ",")
         WScript.Echo "CurrentPasswords: " & strCurrentPasswords
      strDCB = Join(objItem.DCB, ",")
         WScript.Echo "DCB: " & strDCB
      strDefault = Join(objItem.Default, ",")
         WScript.Echo "Default: " & strDefault
      WScript.Echo "Description: " & objItem.Description
      WScript.Echo "DeviceID: " & objItem.DeviceID
      WScript.Echo "DeviceLoader: " & objItem.DeviceLoader
      WScript.Echo "DeviceType: " & objItem.DeviceType
      WScript.Echo "DialType: " & objItem.DialType
      WScript.Echo "DriverDate: " & WMIDateStringToDate(objItem.DriverDate)
      WScript.Echo "ErrorCleared: " & objItem.ErrorCleared
      WScript.Echo "ErrorControlForced: " & objItem.ErrorControlForced
      WScript.Echo "ErrorControlInfo: " & objItem.ErrorControlInfo
      WScript.Echo "ErrorControlOff: " & objItem.ErrorControlOff
      WScript.Echo "ErrorControlOn: " & objItem.ErrorControlOn
      WScript.Echo "ErrorDescription: " & objItem.ErrorDescription
      WScript.Echo "FlowControlHard: " & objItem.FlowControlHard
      WScript.Echo "FlowControlOff: " & objItem.FlowControlOff
      WScript.Echo "FlowControlSoft: " & objItem.FlowControlSoft
      WScript.Echo "InactivityScale: " & objItem.InactivityScale
      WScript.Echo "InactivityTimeout: " & objItem.InactivityTimeout
      WScript.Echo "Index: " & objItem.Index
      WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
      WScript.Echo "LastErrorCode: " & objItem.LastErrorCode
      WScript.Echo "MaxBaudRateToPhone: " & objItem.MaxBaudRateToPhone
      WScript.Echo "MaxBaudRateToSerialPort: " & objItem.MaxBaudRateToSerialPort
      WScript.Echo "MaxNumberOfPasswords: " & objItem.MaxNumberOfPasswords
      WScript.Echo "Model: " & objItem.Model
      WScript.Echo "ModemInfPath: " & objItem.ModemInfPath
      WScript.Echo "ModemInfSection: " & objItem.ModemInfSection
      WScript.Echo "ModulationBell: " & objItem.ModulationBell
      WScript.Echo "ModulationCCITT: " & objItem.ModulationCCITT
      WScript.Echo "ModulationScheme: " & objItem.ModulationScheme
      WScript.Echo "Name: " & objItem.Name
      WScript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
      WScript.Echo "PortSubClass: " & objItem.PortSubClass
      strPowerManagementCapabilities = Join(objItem.PowerManagementCapabilities, ",")
         WScript.Echo "PowerManagementCapabilities: " & strPowerManagementCapabilities
      WScript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
      WScript.Echo "Prefix: " & objItem.Prefix
      strProperties = Join(objItem.Properties, ",")
         WScript.Echo "Properties: " & strProperties
      WScript.Echo "ProviderName: " & objItem.ProviderName
      WScript.Echo "Pulse: " & objItem.Pulse
      WScript.Echo "Reset: " & objItem.Reset
      WScript.Echo "ResponsesKeyName: " & objItem.ResponsesKeyName
      WScript.Echo "RingsBeforeAnswer: " & objItem.RingsBeforeAnswer
      WScript.Echo "SpeakerModeDial: " & objItem.SpeakerModeDial
      WScript.Echo "SpeakerModeOff: " & objItem.SpeakerModeOff
      WScript.Echo "SpeakerModeOn: " & objItem.SpeakerModeOn
      WScript.Echo "SpeakerModeSetup: " & objItem.SpeakerModeSetup
      WScript.Echo "SpeakerVolumeHigh: " & objItem.SpeakerVolumeHigh
      WScript.Echo "SpeakerVolumeInfo: " & objItem.SpeakerVolumeInfo
      WScript.Echo "SpeakerVolumeLow: " & objItem.SpeakerVolumeLow
      WScript.Echo "SpeakerVolumeMed: " & objItem.SpeakerVolumeMed
      WScript.Echo "Status: " & objItem.Status
      WScript.Echo "StatusInfo: " & objItem.StatusInfo
      WScript.Echo "StringFormat: " & objItem.StringFormat
      WScript.Echo "SupportsCallback: " & objItem.SupportsCallback
      WScript.Echo "SupportsSynchronousConnect: " & objItem.SupportsSynchronousConnect
      WScript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
      WScript.Echo "SystemName: " & objItem.SystemName
      WScript.Echo "Terminator: " & objItem.Terminator
      WScript.Echo "TimeOfLastReset: " & WMIDateStringToDate(objItem.TimeOfLastReset)
      WScript.Echo "Tone: " & objItem.Tone
      WScript.Echo "VoiceSwitchFeature: " & objItem.VoiceSwitchFeature
      WScript.Echo
   Next
Next


Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm:
   WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
   Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
   & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function
OUTPUT:

==========================================
Computer: MOBILE
==========================================
AnswerMode:
AttachedTo: COM3
Availability:
BlindOff:
BlindOn:
Caption: HUAWEI Mobile Connect - 3G Modem
CompatibilityFlags:
CompressionInfo:
CompressionOff:
CompressionOn:
ConfigManagerErrorCode:
ConfigManagerUserConfig:
ConfigurationDialog: modemui.dll
CountriesSupported:
CountrySelected:
CreationClassName: Win32_PotsModem
CurrentPasswords:
DCB: xxxxx
Default: 0,0,0,0,0,0,0,0,0,0
Description: HUAWEI Mobile Connect - 3G Modem
DeviceID: Modem0
DeviceLoader:
DeviceType: External Modem
DialType:

ErrorCleared:
ErrorControlForced:
ErrorControlInfo:
ErrorControlOff:
ErrorControlOn:
ErrorDescription:
FlowControlHard:
FlowControlOff:
FlowControlSoft:
InactivityScale: "3c000000"
InactivityTimeout:
Index: 0

LastErrorCode:
MaxBaudRateToPhone:
MaxBaudRateToSerialPort: 115200
MaxNumberOfPasswords:
Model: HUAWEI Mobile Connect - 3G Modem
ModemInfPath: oem2.inf
ModemInfSection: Modem0
ModulationBell:
ModulationCCITT:
ModulationScheme:
Name: HUAWEI Mobile Connect - 3G Modem
PNPDeviceID:
PortSubClass: "02"
PowerManagementCapabilities:
PowerManagementSupported: Falsch
Prefix: AT
Properties: 128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
ProviderName: HUAWEI Incorporated
Pulse: P
Reset: AT&F<cr>
ResponsesKeyName: HUAWEI Mobile Connect - 3G Modem::HUAWEI Incorporated::HUAWEI Incorporated
RingsBeforeAnswer:
SpeakerModeDial:
SpeakerModeOff:
SpeakerModeOn:
SpeakerModeSetup:
SpeakerVolumeHigh:
SpeakerVolumeInfo:
SpeakerVolumeLow:
SpeakerVolumeMed:
Status: Unknown
StatusInfo: 2
StringFormat:
SupportsCallback:
SupportsSynchronousConnect:
SystemCreationClassName: Win32_ComputerSystem
SystemName: MOBILE
Terminator: <cr>

Tone: T
VoiceSwitchFeature:

AnswerMode:
AttachedTo: COM5
Availability:
BlindOff:
BlindOn:
Caption: HUAWEI Mobile Connect - 3G Modem
CompatibilityFlags:
CompressionInfo:
CompressionOff:
CompressionOn:
ConfigManagerErrorCode:
ConfigManagerUserConfig:
ConfigurationDialog: modemui.dll
CountriesSupported:
CountrySelected:
CreationClassName: Win32_PotsModem
CurrentPasswords:
DCB: xxxxx
Default: 0,0,0,0,0,0,0,0,0,0
Description: HUAWEI Mobile Connect - 3G Modem
DeviceID: Modem1
DeviceLoader:
DeviceType: External Modem
DialType:

ErrorCleared:
ErrorControlForced:
ErrorControlInfo:
ErrorControlOff:
ErrorControlOn:
ErrorDescription:
FlowControlHard:
FlowControlOff:
FlowControlSoft:
InactivityScale: "3c000000"
InactivityTimeout:
Index: 1

LastErrorCode:
MaxBaudRateToPhone:
MaxBaudRateToSerialPort: 115200
MaxNumberOfPasswords:
Model: HUAWEI Mobile Connect - 3G Modem
ModemInfPath: oem2.inf
ModemInfSection: Modem0
ModulationBell:
ModulationCCITT:
ModulationScheme:
Name: HUAWEI Mobile Connect - 3G Modem #2
PNPDeviceID:
PortSubClass: "02"
PowerManagementCapabilities:
PowerManagementSupported: Falsch
Prefix: AT
Properties: 128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
ProviderName: HUAWEI Incorporated
Pulse: P
Reset: AT&F<cr>
ResponsesKeyName: HUAWEI Mobile Connect - 3G Modem::HUAWEI Incorporated::HUAWEI Incorporated
RingsBeforeAnswer:
SpeakerModeDial:
SpeakerModeOff:
SpeakerModeOn:
SpeakerModeSetup:
SpeakerVolumeHigh:
SpeakerVolumeInfo:
SpeakerVolumeLow:
SpeakerVolumeMed:
Status: Unknown
StatusInfo: 2
StringFormat:
SupportsCallback:
SupportsSynchronousConnect:
SystemCreationClassName: Win32_ComputerSystem
SystemName: MOBILE
Terminator: <cr>

Tone: T
VoiceSwitchFeature:

AnswerMode:
AttachedTo: COM7
Availability:
BlindOff:
BlindOn:
Caption: HUAWEI Mobile Connect - 3G Modem
CompatibilityFlags:
CompressionInfo:
CompressionOff:
CompressionOn:
ConfigManagerErrorCode: 0
ConfigManagerUserConfig: Falsch
ConfigurationDialog: modemui.dll
CountriesSupported:
CountrySelected:
CreationClassName: Win32_PotsModem
CurrentPasswords:
DCB: xxxxx
Default: 0,0,0,0,0,0,0,0,0,0
Description: HUAWEI Mobile Connect - 3G Modem
DeviceID: USB\VID_12D1&PID_1001&MI_00\7&7EB8A2F&0&0000
DeviceLoader:
DeviceType: External Modem
DialType:

ErrorCleared:
ErrorControlForced:
ErrorControlInfo:
ErrorControlOff:
ErrorControlOn:
ErrorDescription:
FlowControlHard:
FlowControlOff:
FlowControlSoft:
InactivityScale: "3c000000"
InactivityTimeout:
Index: 2

LastErrorCode:
MaxBaudRateToPhone:
MaxBaudRateToSerialPort: 460800
MaxNumberOfPasswords:
Model: HUAWEI Mobile Connect - 3G Modem
ModemInfPath: oem2.inf
ModemInfSection: Modem0
ModulationBell:
ModulationCCITT:
ModulationScheme:
Name: HUAWEI Mobile Connect - 3G Modem #3
PNPDeviceID: USB\VID_12D1&PID_1001&MI_00\7&7EB8A2F&0&0000
PortSubClass: "02"
PowerManagementCapabilities:
PowerManagementSupported: Falsch
Prefix: AT
Properties: 128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
ProviderName: HUAWEI Incorporated
Pulse: P
Reset: AT&F<cr>
ResponsesKeyName: HUAWEI Mobile Connect - 3G Modem::HUAWEI Incorporated::HUAWEI Incorporated
RingsBeforeAnswer:
SpeakerModeDial:
SpeakerModeOff:
SpeakerModeOn:
SpeakerModeSetup:
SpeakerVolumeHigh:
SpeakerVolumeInfo:
SpeakerVolumeLow:
SpeakerVolumeMed:
Status: OK
StatusInfo: 3
StringFormat:
SupportsCallback:
SupportsSynchronousConnect:
SystemCreationClassName: Win32_ComputerSystem
SystemName: MOBILE
Terminator: <cr>

Tone: T
VoiceSwitchFeature:
  Mit Zitat antworten Zitat
r_amse_s

Registriert seit: 31. Jul 2004
107 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: PCMCIA Karten erkennen

  Alt 23. Jul 2008, 01:03
ist jemand da weitergekommen?

mit wmi sollte das Ganze mittels Win32_POTSModem irgendwie realisiert werden.

wäre sehr dankbar, wenn jemand etwas in Delphi zeigen könnte.


@mkinzler meinte das geht auch mit SetupApi, wie soll das funktionieren?
liebe Grüße
ramsi
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: PCMCIA Karten erkennen

  Alt 31. Jul 2008, 22:40
hab jetzt ne möglichkeit gefunden,

mit der HID api conversation von Robert Marquardt!

zu finden hier:

HID API
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz