Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1125052372
oradb
2005-08-26 14:32
2005.10.09
Привести TObject к integer


1-1126775624
keal
2005-09-15 13:13
2005.10.09
Компилятор кода Delphi в прогу под Unix


14-1126859116
Quattro
2005-09-16 12:25
2005.10.09
С чего начать?


14-1126494834
Андрей Николаевич
2005-09-12 07:13
2005.10.09
СисАдмин "вешает лапшу на уши" или я не прав?


4-1123039417
fmf
2005-08-03 07:23
2005.10.09
Как передать дату в чужое приложение?