Mega Code Archive

 
Categories / Delphi / Hardware
 

Bir sürücünün cdrom olup olmadığını anlamak

Bu işlem için Win32'de GetDriveType API fonksiyonu gayet güzel çalışıyor, fakat 16 bit Windows'ta bu fonksiyon Network sürücüleri ile CDROM sürücüleri için aynı değeri döndürüyor. Windows 3.1'de bir sürücünün CD olup olmadığını anlamak için aşağıdaki fonksiyonu kullanabilirsiniz. Bu fonksiyona parametre olarak sürücü numarasını vermelisiniz. Bu numara şu şekilde belirtilmelidir : 0 = şu anki sürücü, 1 = A, 2 = B, 3 = C, function CDROM(SurucuNo : Word) : Boolean; var F : WordBool; begin asm mov ax, 1500h { MSCDEX yüklü mü? } xor bx, bx int 2fh mov ax, bx { BX = 0 ise MSCDEX yüklü değil } or ax, ax { Bu durumda sonuç olarak False döndür } jz @mscdexyok mov ax, 150bh { MSCDEX sürücü kontrolü } mov cx, DriveNum { CX'e sürücü numarasını ata } int 2fh @mscdexyok: mov f,ax end; Result := F; { Sonuç değişkenine ata } end;