Delphi-Help

Главная Статьи CD-ROM Как получить имена всех CDRom'ов, установленных в системе?

Как получить имена всех CDRom'ов, установленных в системе?

Оцените материал
(0 голосов)


Как получить имена всех CDRom'ов, установленных в системе?

uses
  ..., Registry;
 
procedure GetAviableCDROM( ListCD: TStrings );
var
  Reg: TRegistry;
  Key, SubKey, TempKey: string;
  i, KolCD: byte;
begin
   Reg := TRegistry.Create;
   with Reg do
   try
      RootKey := HKEY_LOCAL_MACHINE;
// Здесь лежат имена ключей с информацией об установленных CDROM'ах
      Key := 'SYSTEM\CurrentControlSet\Services\Cdrom\Enum';
      SubKey := 'SYSTEM\CurrentControlSet\Enum\';
      Access := KEY_READ;
// На общих правах NT не пускает к этим ключам
      if not OpenKey( Key, false ) then Exit;
      // Узнаем количество CDROM'ов
      KolCD := ReadInteger( 'Count' );
      if KolCD = 0 then Exit;
      for i:=0 to KolCD-1 do
      begin
         OpenKey( Key, False );
         TempKey := ReadString( IntToStr( i ) );
         CloseKey;
         if not OpenKey( SubKey + Tempkey, false ) then Break;
         ListCD.Add( ReadString( 'FriendlyName' ) );
         CloseKey;
      end;
   finally
      Reg.Free;
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   GetAviableCDROM( Memo1.Lines );
end;
Прочитано 3906 раз

Авторизация



Счетчики