![]() |
Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Hallo,
über diesen Source
Delphi-Quellcode:
ermittle ich die vorhandenen CD-Rom-Laufwerke und trage sie in eine ComboBox ein.
ComboLW.Clear;
for i := 0 to 25 do if GetLogicalDrives and (1 shl i) <> 0 then if GetDriveType(PChar(Chr(i + Ord('A')) + ':\')) = DRIVE_CDROM then ComboLW.Items.Add(Chr(i + Ord('A')) + ':'); In zahlreichen Beispielen wird gezeigt, wie man unter anderem die Bezeichnung der eingelegten CD/DVD ermitteln kann. Ich möchte jedoch, wie zum Beispiel bei Brennprogrammen üblich, die Typenbezeichnung des Laufwerks ermitteln. So das die Liste zum Beispiel so aussieht:
Code:
Unter Win98SE könnte man die Registry durchsuchen. Da stehen dann unter Arbeitsplatz\HKEY_LOCAL_MACHINE\Enum\SCSI\ unter anderem die CD-ROM-Laufwerke mit DeviceType, HardwareID, Manufakturer, ProductID, CurrentDriveLetter, ...
D: [LITEON DVD-ROM LTD163D]
E: [LITE-ON LTR-40125S] F: [Generic DVD-ROM] Bei WinXP sind in der Registry zum Beispiel unter Arbeitssplatz\HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMA P\Scsi die Laufwerke (Festplatte/CD/DVD-ROM) mit ihrer Bezeichnung aufgeführt. Ausführlicher stehen sie dann unter Arbeitssplatz\HKEY_LOCAL_MACHINE\SYSTEM\CONTROLSET 001\IDE und SCSI. Gibt es Funktionen, mit welchen man sich die aufwändige Suche in der Registry ersparen kann? |
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Ein Weg führt über die Windows Management Instrumentation (WMI), siehe dazu im
![]() |
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Vielen Dank für den Tipp. Über Win32_LogicalDisk bin ich zu
![]() |
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Der alternative Weg geht ueber das Config Manager API, aber ich habe noch keine Zeit gefunden die Delphi-Konversion davon freizugeben.
Das ist im Wesentlichen das API das vom Device Manager verwendet wird. |
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Wenn Nero installiert ist, könnte man auch die
![]() |
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Zitat:
Bei Win98 würd ich bei der Registry bleiben. |
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Ganz unten steht:
Zitat:
|
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Oder man erstellt eine Abfrage, welches System gerade läuft
|
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Die Abfrage ist ja das einfachste an der Sache:
Delphi-Quellcode:
NT 4.0 Workstation wird wohl kaum noch jemand installiert haben!?
//***********************************************************************//
// Ist mindestens Windows 2000 installiert? // //***********************************************************************// function minWin2000: Boolean; var os : TOSVersionInfo; begin os.dwOSVersionInfoSize := sizeof(os); GetVersionEx(os); if (os.dwPlatformId = VER_PLATFORM_WIN32_NT) and (os.dwMajorVersion >= 5) then minWin2000 := True else minWin2000 := False; end; |
Re: Name des CD-ROM-Laufwerks (zB LITEON LTD163D)
Hi!
*Meld* Bei uns in der Schule z.B.! Ciao Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 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