![]() |
Geänderte Hardware suchen
Hallo,
ich habe in ![]() Gibt es in der Win32 API einen Aufruf, der der Aktion "Geänderte Hardware suchen" des Gerätemanagers entspricht? |
Re: Geänderte Hardware suchen
|
Re: Geänderte Hardware suchen
Besuch mal
![]() |
Re: Geänderte Hardware suchen
Hallo Robert,
danke für den Link. Ich lade gerade einmal die neuesten Treiber runter, weil es wohl seit SP2 einige Probleme mit USB CD-ROMs gibt. Mal schauen, ob es hilft. @TurboMartin: Und worauf muss ich den Symbolischen Link setzen? Ich benötige eine API Funktion, die genau das macht, was Win XP ausführt, wenn ich im Gerätemanager "Nach geänderter HW suchen" ausführe. |
Re: Geänderte Hardware suchen
Da gibt es keine einfache API-Funktion. Das sind vermutlich hauptsaechlich Aufrufe aus dem Setup API.
Fuer die Anzeige des Dialogs gibt es allerdings eine Komponente in der JVCL. |
Re: Geänderte Hardware suchen
Hallo Robert,
mist, das habe ich befürchtet. :cry: |
Re: Geänderte Hardware suchen
Hatte ich doch richtig diagnostiziert. Der Hardware Wizard ist ein Control Panel (hdwwiz.cpl).
Mit einem DLL-Tool betrachtet (PEViewer aus der JCL) erkennt man das ein betraechtlicher Teil des Setup APIs benutzt wird und noch ein bischen des Config Manager APIs. |
Re: Geänderte Hardware suchen
Hallo Robert,
ich bräuchte nur den Teil, der nach Plug & Play Komponenten sucht. Oder noch weiter eingeschränkt nach CD-ROMs am USB Port. |
Re: Geänderte Hardware suchen
Ich brauche das gerade auch, und hab
![]() |
Re: Geänderte Hardware suchen
Die JVCL enthaelt die noetigen Konversionen (Cfg.pas, CfgMgr32.pas, SetupApi.pas), aber das duerftest du schon wissen :-)
|
Re: Geänderte Hardware suchen
Schau auch mal
![]() |
Re: Geänderte Hardware suchen
@Robert: Ja, du hattest das weiter oben schonmal erwähnt, abgesehen davon ist die JCL/JVCL eh immer meine erste Anlaufstelle ;) Aber trotzdem danke für den Tipp :)
@toms: Ja, das ist praktisch das gleiche in Grün, ich spare mir Schreibarbeit und benutze einfach die JVCL-Units - die paar kb mehr Exegröße sind mir in dem Fall mal wirklich egal. Letztens hab ich allerdings mal bei einer DLL unnötige Units rausgeworfen und dadurch die Größe auf 25% reduziert, das fand ich schon cool ;) War eher so ein Nebeneffekt, ich wunderte mich wozu die DLL Forms usw. braucht - eine einzige Messagebox war der Grund dafür! Das geht auch ohne Forms und Co mit Win32-Mitteln - und schwupps! Aber ich schweife ab, auf jeden Fall danke für die Tips, die Varianten für NSIS und Installshield sind sicherlich nochmal nützlich :) Nachtrag: Tolle Wurst, den Treiber bei Bedarf installieren kann ich jetzt, aber die Hardware-API rafft das nicht, deren DLL muss ich dann erst entladen und neu laden damit sie ihre Hardware nach der Treiberinstallation findet - hat sich also was mit statisch linken. Gnaaa :( Kleiner Tipp noch: Um zu warten bis die Installation der Treiber für die neuen Geräte durch ist, gibts CMP_WaitNoPendingInstallEvents - sehr nützlich, weil die Einrichtung der neuen Devices asynchron abläuft. Und ja, kein Tippfehler, ist wirklich "CMP" und nicht nur "CM". Zu "CM_WaitNoPendingInstallEvents" gibts ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz