Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
3-1125159074
Akris
2005-08-27 20:11
2005.10.09
Как передать коннект к базе Firebird из программы в dll?


3-1125062670
syte_ser78
2005-08-26 17:24
2005.10.09
Подключение к базе Paradox


2-1125732058
Гость22
2005-09-03 11:20
2005.10.09
Как подключиться к серверу Firebird?


4-1123768084
chili
2005-08-11 17:48
2005.10.09
Kак мне из dll запустить внешнию программу?


2-1125735542
Ксардас
2005-09-03 12:19
2005.10.09
Как выделить строку в РичЭдите при опр условиях?




   Наверх