Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Erkennen ob USB-Gerät angeschlossen (https://www.delphipraxis.net/176284-erkennen-ob-usb-geraet-angeschlossen.html)

rollstuhlfahrer 23. Aug 2013 22:38

Erkennen ob USB-Gerät angeschlossen
 
Hi @all,

ich spiele aktuell mit einem tollen UMTS-Stick rum. Jetzt suche ich noch nach einer Möglichkeit, mit meinem Delphi-Programm zu erkennen, ob das Modem jetzt eingesteckt ist oder nicht (Das Programm soll dann später Signalstärke und Netz-Typ anzeigen). Da es sich um ein USB-Modem und kein Massenspeicher handelt, kann man nicht einfach nach irgendwelchen Laufwerken suchen.

Mein aktueller Stand: Mit Hilfe von [1] habe ich schon mal das Gerät in der Registry gefunden. Da steht dann auch welchen COM-Port ich brauche (für Signalstärke und Co). Im letzten Post ist ein kleiner Fehler drin, die Geräte liegen unter HKLM\SYSTEM\CurrentControlSet\Enum\USB.

OnDeviceChange habe ich auch schon gefunden, beispielsweise in [2].

Die Frage ist jetzt nur: Wie bekomme ich heraus, ob das Modem jetzt am Rechner angeschlossen ist oder nicht?

rollstuhlfahrer

hathor 24. Aug 2013 05:32

AW: Erkennen ob USB-Gerät angeschlossen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zeigt belegte COMPORTS an.

http://www.delphipraxis.net/1034486-post8.html

Dann sendet man ein AT-Command - das Modem (z.B. GSM-Handy, UMTS-Stick) antwortet mit seinem Namen.

Furtbichler 24. Aug 2013 08:58

AW: Erkennen ob USB-Gerät angeschlossen
 
Du bekommst von Windows eine Message (WM_DEVICECHANGE), wenn ein Gerät ein- oder ausgestöpselt wurde. Da solltest Du ansetzen.
Bei mir hat es gereicht, bei der Message einfach zu schauen, ob ich das Gerät (ein RFID-Reader) jetzt ansprechen kann oder nicht mehr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 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