Проверка, доступно ли устройство без всяких окошек об ошибках

Проверка, доступно ли устройство без всяких окошек об ошибках.

Зависимости: Windows

function IsDiskInDrive(Drive: string): Boolean;

var

ErrMode: Cardinal;

VolName: array[0..255] of Char;

FS: array[0..255] of Char;

MaxComSize: Cardinal;

Flags: Cardinal;

begin

ErrMode := SetErrorMode(SEM_FAILCRITICALERRORS);

try

Result := GetVolumeInformation(PChar(Drive), VolName, SizeOf(VolName), nil,

MaxComSize, Flags, FS, SizeOf(FS));

finally

SetErrorMode(ErrMode);

end;

end;

Пример использования:

if not IsDiskInDriver('A:') then

raise Exception.Create('А дискеты-то нет :(');

[cc lang="delphi"] 

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