Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Вниз

Как перехватить сообщение 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.023 c
1-84972
Геннадий
2002-08-14 19:03
2002.08.26
Desktop Wallpaper - Как ?


1-85064
Goblinus
2002-08-14 14:50
2002.08.26
Mouse


1-85108
dimanew
2002-08-15 05:52
2002.08.26
Есть задача из ул.ленина сделать ул.Ленина, я использую


14-85179
Oleg_Gashev
2002-07-28 20:56
2002.08.26
Программирование- это искуство


3-84869
Termik
2002-08-05 13:54
2002.08.26
Имя поля является зарезервированным словом.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский