Текущий архив: 2005.10.09;
Скачать: CL | DM;
Вниз
Как обнаружить, что вставили дискету? Найти похожие ветки
← →
stals © (2005-09-20 15:47) [0]Народ, как это проделать, есть ли какие сообщения от винды в этот момент? Вобщем, как просечь момент, когда ее вставили, но при этом не использовать вечный цикл на проверку доступноси дисковода (чтобы не хрюкал все время) ?
← →
Джо © (2005-09-20 16:04) [1]На PC - никак. Аппаратно не поддерживается без прямого обращения. На Маках - да, поддерживается контроллером и самим устройством привода.
← →
stals © (2005-09-20 16:25) [2]Дык а можно как-нибудь хрюканье тогда поменьше сделать? :)
Чтоб один раз дернулся проверить и успокоился, а то он начинает полчаса трещать...
← →
Big Joe © (2005-09-20 16:51) [3]function DiskInDrive(const Drive: char): Boolean;
var
DrvNum: byte;
EMode: Word;
begin
result := true; // было false
DrvNum := ord(Drive);
if DrvNum >= ord("a") then
dec(DrvNum, $20);
EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
while DiskSize(DrvNum - $40) = -1 do
begin // при неудаче выводим диалог
if (Application.MessageBox("Диск не готов..." + chr(13) + chr(10) +
"Повторить?", PChar("Диск " + UpperCase(Drive)), mb_OKCANCEL +
mb_iconexclamation {IconQuestion}) = idcancel) then
begin
Result := false;
Break;
end;
end;
finally
SetErrorMode(EMode);
end;
end;
И еще поставь нормальную дискету чтоб пол часа не трещала.
← →
Джо © (2005-09-20 17:27) [4]
> [2] stals © (20.09.05 16:25)
> Дык а можно как-нибудь хрюканье тогда поменьше сделать?
> :)
Никак не можна.
← →
DrPass © (2005-09-20 21:35) [5]Вставь в вечный цикл проверки дисковода Sleep(2000). Хрюкать будет заметно меньше
← →
Джо © (2005-09-20 22:31) [6]
> [5] DrPass © (20.09.05 21:35)
Садюга :)
← →
Brother © (2005-09-21 06:52) [7]AutoRun для флопаря? Оригинально!
НЕ МУЧАЙТЕ ФЛОП!
Гловки сотрутся!
:)
ик
Страницы: 1 вся ветка
Текущий архив: 2005.10.09;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.028 c