Как узнать, находится ли дискета в дисководе?


type  
  TDriveState(DS_NO_DISK, DS_UNFORMATTED_DISK,   
    DS_EMPTY_DISK, DS_DISK_WITH_FILES);  
  
function DriveState(DrvLetter: Char): TDriveState;  
var  
  Mask: String[6];  
  SearchRec: TSearchRec;  
  oldMode: Cardinal;  
  ReturnCode: Integer;  
begin  
  oldMode: = SetErrorMode(SEM_FAILCRITICALERRORS);  
  Mask:= '?:\*.*';  
  Mask[1] := DrvLetter;  
  {$I-}    ReturnCode := FindFirst(Mask, faAnyfile, SearchRec);  
  FindClose(SearchRec);  
  {$I+}  
  case ReturnCode of  
        0: Result := DS_DISK_WITH_FILES;  
        -18: Result := DS_EMPTY_DISK;  
    { DS_NO_DISK äëÿ DOS, ERROR_NOT_READY äëÿ WinNT, ERROR_PATH_NOT_FOUND äëÿ Win 3.1 }  
    -21, -3: Result := DS_NO_DISK;  
  else  
        Result := DS_UNFORMATTED_DISK;  
  end;  
  SetErrorMode(oldMode);  
end; { DriveState }  
Теги:
дисковод
Добавлено: 31 Июля 2018 21:59:54 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...