Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Name des CD-ROM-Laufwerks (zB LITEON LTD163D) (https://www.delphipraxis.net/37722-name-des-cd-rom-laufwerks-zb-liteon-ltd163d.html)

Alter Mann 20. Jan 2005 18:22

Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
 
Ist ja ok,
habe heute eine w2k+D7-Installation auf VMWare durchgezogen und Versuche mal zu ergründen woran es liegt.
Falls es was gibt melde ich mich.

Garfield 26. Jan 2005 09:38

Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Oben hatte ich geschrieben:
Zitat:

Zitat von Garfield
Nun scheint bei Zeile 104, 105 ein Fehler zu sein. Denn (CDROMDeviceID = PropVal) kann nicht eintreten, weil PropVal zum Beispiel 'IDE\CDROM...' ist.

Dies waren die Zeilen:
Delphi-Quellcode:
...
PropVal := (FWMIObj.Properties_.Item('DeviceID', 0) as ISWbemProperty).Get_Value;
if not (VarIsEmpty(PropVal) or VarIsNull(PropVal)) and (CDROMDeviceID = PropVal) then
...
Nach einigem googeln und nachdenken bin ich auf folgendes gekommen: Ich will die Informationen zu einem Laufwerk. Alles was ich habe, ist der Laufwerksbuchstabe. Das ist der DriveLetter. Mit einen : dahinter wird daraus ein Drive.In der Registry kann man - zumindest bei Win9x - Einträge 'Drive' mit zum Beispiel dem Wert 'E:' finden. Also habe ich DeviceID durch Drive ersetzt und als Ergebnis wird mir als '*.Name' mein Laufwerksname zurückgegeben.

Nachtrag:

Unter Win98SE muss die Variable 'wbemConnectFlagUseMaxWait' durch 0 ersetzt und anstelle von '*.Name' '*.Description' verwendet werden. Als '*.Name' wird das Laufwerk zurückgegeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 4 von 4   « Erste     234   

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