Moin !
Ich versuche gerade mit meinem Kollegen zu ergründen wie man denn die Infos zu seriellen Ports aus der Registry ermitteln kann. Um es vorweg zu nehmen ... Wir wissen das es die SetupAPI von
JEDI gibt, aber
Jedi wollen wir aufgrund des doch recht mächtigen Pakets vermeiden.
Also versuchen wir uns an einer eigenen Lösung. Dochdabei stoßen wir gerade auf eine Sache auf die wir keine Lösung haben und auch keine finden.
Ok in der Registry findet man unter HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM eine Auflistung der seriellen Ports von denen Windows meint das man sie nutzen könnte. Stimmt nicht immer ganz aber das sei an dieser Stelle mal egal. Dort gibt es dann z.B. Einträge wie diesen:
Zitat:
\Device\Serial0 | COM1
Weiter gehts in der Registry ... Wir gehen nach HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\A CPI\PNP0501 und finden unter dem Key 1 unseren "Communications Port" COM1.
Weiterhin gibt es unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Class\{4D36E978-E325-11CE-BFC1-08002BE10318}\0000 Infos zu der Klasse und zu den Einträgen in jeder Klasse.
Besteht die Möglichkeiten über den Device- bzw. Aliasnamen (\Device\Serial0) auf diese Klasse bzw. auf den Eintrag unter Enum zu gelangen? Man könnte eine Suche über den Shortname machen, aber es ist durchaus gängig das Portnamen doppelt vergeben sind. Z.B. wenn man USB / Seriell Wandler verwendet. Insofern wäre das keine saubere Lösung.
Wäre nett wenn da jemand was weiss und auch sagen tät
Und noch ne Frage am Rande ... Kann man sich eigentlich die Aliasnamen irgendwie auflisten lassen die derzeit Verwendet werden?