Namen vom COM Port
-
Hallo,
ich versuche meinen Usern die Auswahl eines COM Ports zu vereinfachen. Dazu möchte ich neben der Port Nummer noch einen "Sprechenden" Namen anzeigen.
Gibt es eine Möglichkeit an diesen Per Win-API o.ä. ranzukommen? Gibt es irgendwo ein Beispiel in deise Richtung?
Vermutlich eine einfache Sache, aber ich seh den Baum im Wald nicht...
-
Wie willst du z.B. COM2 andersters nennnen: "Der der zwischen COM1 und COM3 liegt"? oder COM1: "Com der erste, Master of the Mainboard"?
-
Nach ein paar Sekunden googlen...
http://stackoverflow.com/questions/304986/how-do-i-get-the-friendly-name-of-a-com-port-in-windows
-
Ich würde den Registry Schlüssel HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM auslesen. Man muss nur auf gesetzte KEY_QUERY_VALUE Access Rights achten, damit man diese auch als Nicht-Admin lesen kann.
Die Methode mittels SetupDiEnumDeviceInfo() funktioniert zwar auch, aber diese das Problem dass bei Standardnutzern (keine Admin's) die Rechte nicht aussreichen.
Alternativ kannst du auch hier schauen:
http://www.naughter.com/enumser.html---
Unter C# geht eleganter:
SerialPort.GetPortNames()