Как проверить готовность диска без появления окна ошибки Windows?

 

Вы можете использовать функцию Windows API SetErrorMode() для отключения диалога Window's critical Error.

 

function IsDriveReady(DriveLetter : char) : bool;

var    OldErrorMode : Word;

        OldDirectory : string; 

begin   

OldErrorMode := SetErrorMode(SEM_NOOPENFILEERRORBOX);   

GetDir(0, OldDirectory);   

{$I-}     

ChDir(DriveLetter + ':\');   

{$I+}    

if IoResult <> 0 then      Result := False     

else      Result := True;    

ChDir(OldDirectory);   

SetErrorMode(OldErrorMode); 

end;  

procedure TForm1.Button1Click(Sender: TObject); 

begin   

  if not IsDriveReady('A') then      ShowMessage('Drive Not Ready')

   else      ShowMessage('Drive is Ready'); 

end;

 

Хостинг от uCoz