Delphi World - Проверить готовность диска без появления окна ошибки Windows
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Проверить готовность диска без появления окна ошибки Windows


Игра "О счастливчик" Игрок - Прошу убрать два неверных варианта. Ведущий - Итак, дорогой компютер, уберите пожалуста два неверных варианта. Надпись на мониторах - "Программа выполнила недопустимую ошибку и будет закрыта" Ведущий - Что-ж по просьбе компании Microsoft - реклама....

Вы можете использовать функцию 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');

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования