Einzelnen Beitrag anzeigen

Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#1

Name des CD-ROM-Laufwerks (zB LITEON LTD163D)

  Alt 9. Jan 2005, 14:14
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?
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat