Forum: PC-Programmierung C# Treibername der virtuellen COM auslesen


von hans (Gast)


Lesenswert?

Hallo zusammen,

ich sende über einen USB-Controller von Silabs (CP210x) Daten an einen 
µC.
Nun will ich den Treibernamen der virtuellen COM Schnittstelle auslesen, 
so dass ich immer den richtigen COM Port automatisch ausgewählt habe und 
das nicht über den Geräte-Manager machen muss.
Wie kann ich das in c# machen?

von C++ (Gast)


Lesenswert?

Hallo hans,

das Stichwort zu dem Thema nennt sich bei Windows "SetupApi". Leider ist 
dieses API für die "native" Programmierung gedacht, kann aber unter C# 
per P/Invoke angesprochen werden.

Hier hat sich schon jemand die Mühe gemacht dies in C# Code zu gießen:
http://www.netomatix.com/development/SetupApi.aspx

Der "Identifier" für die COM Ports ist
GUID_DEVINTERFACE_COMPORT
=> Erster Parameter von SetupDiGetClassDevs().
Danach kann über die COM Ports per SetupDiEnumDeviceInfo() enumeriert 
werden.
=> Um dein Gerät zu finden solltest du die VID (Vendor ID) und die PID 
(Produkt ID) und ggf. die Seriennummer am Bus kennen.

Ich hoffe ich konnte helfen.

Gruß
C++

von hans (Gast)


Lesenswert?

Hallo,

vielen Dank für die Antwort!
Ja über die VID ist es am besten, die kenne ich. Dann versuche ich es 
mal.

Hans

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.