![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перехватить сообщение Windows при создании файла? [NT4]
Nimbus © (2002-06-20 09:52:00)Помогите, plz, кто сталкивался с данной проблемой:
Необходимо перехватывать (постоянно) событие (сообщение?) WinNT когда на диске (например, "с:") создаётся файл с заранее известным именем (например, "tmp.001"), НЕ ЗАГРУЖАЯ процессор на 100%, что как раз и делает следующий код, если его зациклить.
if FileExist("c:\tmp.001") then //какие-либо действия
Результат достигается, но КАК ПОЗВОЛИТЬ ещё и другим прогам работать без тормозов???
ЗАРАНЕЕ БЛАГОДАРЕН, Nimbus.
Nimbus (2002-06-21 15:12:00) [1]Спасибо вам за советы (Игорь Шевченко и RV) - с вашей помощью проблема решена!!!
С уважением, Nimbus
Игорь Шевченко (2002-06-21 10:28:00) [2]Nimbus (20.06.02 23:30)
Тот способ, на который я дал ссылку, AFAIK, гарантировано перехватывает всякие действия с файлами.
Может быть, действительно проще FindFirstChangeNotification ?
Или установить таймер и по таймеру проверять if FileExists(...) then
С уважением,
RV (2002-06-21 08:51:00) [3]application.processmessage S- конечно же.
я обычно так делаю, когда делать неохота
procedure TForm1.Timer1Timer(Sender: TObject);
begin
timer1.Enabled:=false;
Application.ProcessMessages;
MySuperPuperFunction;
timer1.Enabled:=true;
end;
RV (2002-06-21 08:38:00) [4]в цикл application.processmessage вставь - чего уж конкретнее
FindFirstChangeNotification - в хелпе есть (тоже чиста-чиста, конкретно-конкретно)
и вообще код приведи побольше
Nimbus (2002-06-20 23:30:00) [5]2 Игорь Шевченко: За исходники на C++ спасибо, конечно, но хотелось бы примерчик на Паскале увидеть.
Или хотя бы немного поконкретнее (с чего начать, принцип реализации кода), чем RV написал.
Игорь Шевченко (2002-06-20 14:21:00) [6]www.sysinternals.com - filemon.exe, filesrc.zip
RV (2002-06-20 11:09:00) [7]FindFirstChangeNotification - посмотри
или в цикл application.processmessage вставь
или по таймеру опрашивай с большим интервалом
или перехват API на создания файла напиши(и мне дай)