Советы по Delphi

         

Определение устройства CD-ROM


Это должно помочь:

    function IsCDROM(DriveNum: Integer): Boolean; assembler;
asm
MOV   AX,1500h { смотрим на предмет MSCDEX } XOR   BX,BX INT   2fh OR    BX,BX JZ    @Finish MOV   AX,150Bh { проверяем использование CD драйвера } MOV   CX,DriveNum INT   2fh

OR    AX,AX @Finish: end;

BTW: под Win32 GetDriveType правильно возвращает устройство CD-ROM.

    Function IsCdRom(DriveNum : Word) : Boolean;
Var
F : WordBool; Begin
asm
mov ax, 1500h      { тест на наличие MSCDEX } xor bx, bx int 2fh mov ax, bx         { если bx = нулю, MSCDEX не присутствует } or  ax, ax         { возвращаем FALSE } jz @no_mscdex mov ax, 150bh      { проверка наличия драйвера MSCDEX } mov cx, DriveNum   { cx содержит драйв } int 2fh @no_mscdex: mov f,ax end; Result := F;          { Назначаем возвращаемое функцией значение } End;

[001954]



Содержание раздела