LabVIEWForum.de
Windows Gerätemanager abfragen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Windows Gerätemanager abfragen (/Thread-Windows-Geraetemanager-abfragen)



Windows Gerätemanager abfragen - Ulli-Macky - 18.12.2012 11:22

Hallo Zusammen,

habe ein kleines Problem und erhoffe mir einige Tipps von Euch Spezis:
Ist es möglich den Windows-GeräteManager auf einen bestimmten Eintrag zu durchsuchen?
Hintergrund: Ein Gerät mit 2 Schnittstellen (1 x RS485, 1 x USB) soll getestet werden. Über RS485 kein Problem. Um die USB-Kommunikation zu testen, würde es ausreichen zu überprüfen, ob sich das Gerät im GeräteManager ordnungsgemäß angemeldet hat (die Treiber sind ordnungsgemäß installiert). Wenn USB kontaktiert wird, meldet Windows ja "neues Gerät erkannt" und "Gerät kann jetzt verwendet werden, (oder so)" und im GeräteManager erscheint ein Eintrag zu diesem neuen Teil.

Danke im Voraus

Gruß Ulli


RE: Windows Gerätemanager abfragen - dali4u - 18.12.2012 13:27

Hi Uli,

ich mache sowas ähnliches zu Erkennung unser angeschlossenen Geräte
und ziehe dazu die Infos aus der Registry...

HKLM\System\CurrentControlSet\Enum\USB

Hier sind alle jemals angeschlossenen USB Geräte aufgelistet. Diese kann
man nach der VID und PID parsen und die Infos rausholen.

Dort findet man meistens auch zu dem jeweiligen Gerät (bei meinem wird
ein VCP erstellt) auch den dazugeörigen Service. Beispiel von mir.

VID_22B5&PID_008\00000001
Service -> "umpusbvista"
Das ist der Service der gestartet wird, falls ich dieses USB Gerät anstecke.

Im registry Schlüssel
HKLM\System\CurrentControlSet\Services\umpusbvista\Enum
findet man jetzt den Eintrag
Count (DWORD)

Wenn man jetzt ein USB Gerät mit dieser VID und PID Kombi anschließt, wird
der Count um 1 erhöht. Dann weiß man, dass dieses USB Gerät angeschlossen wurde.
Dort ist dann auch der Eintrag:

0 (String) = USB\Vid_22b5&Pid_0008\00000001

Dieser Eintrag "Null" stimmt mit dem Eintrag von oben überein -> Gerät angeschlossen.

Dann wieder zurück zum Eintrag "HKLM\System\CurrentControlSet\Enum\USB" und auslesen:

FriendlyName -> Das ist genau das was im Hardware Manager angezeigt wird.

Vielleicht hilft Dir das ja weiter... schau Dir mal die Einträge unter den beiden
HKLM Beispiel an, wenn Du Dein Gerät angeschlossen hast.

Stefan


RE: Windows Gerätemanager abfragen - Ulli-Macky - 08.01.2013 07:24

Hallo Stefan,

vielen Dank für deinen Tipp.
Funktioniert genau wie beschrieben, problemlos und zuverlässig! Guru1

Gruß Ulli