Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aus Device- bzw. Aliasname die klasse ableiten? (https://www.delphipraxis.net/108116-aus-device-bzw-aliasname-die-klasse-ableiten.html)

moelski 7. Feb 2008 09:28


Aus Device- bzw. Aliasname die klasse ableiten?
 
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 :thumb:

Und noch ne Frage am Rande ... Kann man sich eigentlich die Aliasnamen irgendwie auflisten lassen die derzeit Verwendet werden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz