2009-03-31 12 views
2

Auf Win32, mit winapi, gibt es sowieso zu wissen, welche comports (ab com0 aufwärts) tatsächlich als Geräte existieren?Welche Komm-Ports existieren? Win32

Im Moment versuche ich nur, sie alle zu öffnen (0 bis 9), aber ich kann nicht den Unterschied des Scheiterns zwischen einem nicht vorhandenen und einem nicht einfach zur Verfügung, weil jemand anderes verwendet es. Beide Situationen scheinen den gleichen letzten Fehler zu liefern. Daher habe ich mich gefragt, ob ich alle auf dem System verfügbaren Komponenten auflisten könnte.

+0

Beachten Sie, dass möglicherweise mehr als nur 10 COM-Ports vorhanden sind. Meine Bluetooth-Geräte erhalten zum Beispiel regelmäßig Ports über COM20. – Joey

Antwort

1

Ich glaube, Sie können QueryDosDevice() aufrufen und Null für den ersten Parameter übergeben und dann die Ergebnisse analysieren.

1

Suchen Sie google nach "enumerate com ports". This ist ein Beispiellink.

0

Der Name ist bedauerlich, aber "SetupAPI" ist der relevante Teil der Windows-API. Rufen Sie SetupDiCreateDeviceInfoList einmal für Geräteschnittstellenklasse GUID_DEVINTERFACE_COMPORT. Rufen Sie dann wiederholt SetupDiEnumDeviceInfo an, beginnend mit Index 0 bis GetLastError()==ERROR_NO_MORE_ITEMS.

Verwandte Themen