скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook