Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.26;
Скачать: CL | DM;

Вниз

Как перехватить сообщение Windows при создании файла?   Найти похожие ветки 

 
Nimbus   (2002-06-20 09:52) [0]

Помогите, plz, кто сталкивался с данной проблемой:
Необходимо перехватывать (постоянно) событие (сообщение?) WinNT когда на диске (например, "с:") создаётся файл с заранее известным именем (например, "tmp.001"), НЕ ЗАГРУЖАЯ процессор на 100%, что как раз и делает следующий код, если его зациклить.
if FileExist("c:\tmp.001") then //какие-либо действия
Результат достигается, но КАК ПОЗВОЛИТЬ ещё и другим прогам работать без тормозов???
ЗАРАНЕЕ БЛАГОДАРЕН, Nimbus.


 
RV   (2002-06-20 11:09) [1]

FindFirstChangeNotification - посмотри
или в цикл application.processmessage вставь
или по таймеру опрашивай с большим интервалом
или перехват API на создания файла напиши(и мне дай)


 
Игорь Шевченко ©   (2002-06-20 14:21) [2]

www.sysinternals.com - filemon.exe, filesrc.zip


 
Nimbus   (2002-06-20 23:30) [3]

2 Игорь Шевченко: За исходники на C++ спасибо, конечно, но хотелось бы примерчик на Паскале увидеть.
Или хотя бы немного поконкретнее (с чего начать, принцип реализации кода), чем RV написал.


 
RV   (2002-06-21 08:38) [4]

в цикл application.processmessage вставь - чего уж конкретнее
FindFirstChangeNotification - в хелпе есть (тоже чиста-чиста, конкретно-конкретно)
и вообще код приведи побольше


 
RV   (2002-06-21 08:51) [5]

application.processmessage S - конечно же.
я обычно так делаю, когда делать неохота

procedure TForm1.Timer1Timer(Sender: TObject);
begin
timer1.Enabled:=false;
Application.ProcessMessages;
MySuperPuperFunction;
timer1.Enabled:=true;
end;


 
Игорь Шевченко ©   (2002-06-21 10:28) [6]

Nimbus (20.06.02 23:30)

Тот способ, на который я дал ссылку, AFAIK, гарантировано перехватывает всякие действия с файлами.
Может быть, действительно проще FindFirstChangeNotification ?

Или установить таймер и по таймеру проверять if FileExists(...) then

С уважением,


 
Nimbus   (2002-06-21 15:12) [7]

Спасибо вам за советы (Игорь Шевченко и RV) - с вашей помощью проблема решена!!!

С уважением, Nimbus



Страницы: 1 вся ветка

Текущий архив: 2002.08.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
14-85231
der
2002-07-31 18:08
2002.08.26
Помогите настроить WINGATE 4


1-84970
K
2002-08-15 15:44
2002.08.26
Excel, Delphi97 и Delphi2000


1-85026
Chinas
2002-08-16 14:48
2002.08.26
Немогу вызвать fsMDIForm и fsMDIChild из DLL


1-84969
Vicheslav
2002-08-15 15:51
2002.08.26
Ув. Мастера помогите с Excel !????


4-85287
Igit
2002-06-20 15:36
2002.08.26
Ипользование потоков