Проверить готовность диска без появления окна ошибки 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;

затем используем её:

if not IsDriveReady('A') then

ShowMessage('Drive Not Ready')

else

ShowMessage('Drive is Ready');

Добавить комментарий