Hallo,
über diesen Source
Delphi-Quellcode:
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')) + ':');
ermittle ich die vorhandenen CD-Rom-Laufwerke und trage sie in eine ComboBox ein.
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:
D: [LITEON DVD-ROM LTD163D]
E: [LITE-ON LTR-40125S]
F: [Generic DVD-ROM]
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, ...
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?