Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Delphi Реакция на событе в системе

Здравствуйте, soft.prog.

Моя программа должна работать с любыми типами файлов, перехватывая
системные функции. Как узнать что над каким либо объектом вызвана
определенная вункция(например удаление) и перехватить ее.

Ответить   Sun, 14 Nov 2004 19:55:48 +0600 (#263917)

 

Ответы:

Здоровеньки булы, janalex!

14 ноября 2004 г., воскресенье, 18:55:48 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi Реакция на событе в системе",
в котором сообщалось следующее:

Где-то у меня была статейка насчет перехвата функций WinAPI, по-моему
с www.wasm.ru я её скоммуниздил, но там asm, если с asm-ом хочешь
связаться - могу поискать. Может проще ты перечислишь все действия
которые надо перехватить и все типы файлов. Например:
Удаление, копирование и т.п. ловиться через
FindFirstChangeNotification/FindNextChangeNotification
Запуск exe-файлов ловиться через реестр - как-то давно насчет этого
тред был (не отлавливаются запуски через VC, NC и т.п.)

В общем, ИМХО, разбить задачу на несколько более простых чем лезть в
дебри вирмейкерства, тем более могут дырки через которые пролазит
перехват API закрыть.

Ответить   Томилов Александр Sun, 14 Nov 2004 21:14:54 +0500 (#264030)

 

Здравствуйте, Томилов.

Вы писали 14 ноября 2004 г., 22:14:54:

Статейку давай. Вообше мне надо перехватить удаление файлов/папок.
Norton Utils мне не нравится, хочу сам управлять удалением файлов, что
сразу, что придержать. А формат файла info? из Корзины не знаешь?

Ответить   Mon, 15 Nov 2004 00:02:34 +0600 (#264114)

 

Здоровеньки булы, janalex!

14 ноября 2004 г., воскресенье, 23:02:34 (GMT+05:00), пришел ко мне
почтальон Почкин и всучил письмо с пометкой "Delphi Реакция на событе в системе",
в котором сообщалось следующее:

Мда, амбиции :-)

Чо еще за файл?

Ответить   Томилов Александр Mon, 15 Nov 2004 09:29:03 +0500 (#264201)

 

Здравствуйте.

Подскажите, как из VB ADDin'a обновить содержание в
документе MS WORD.

Ответить   paradise Mon, 15 Nov 2004 17:51:57 +0300 (#264702)

 

Такие вещи делаются с помощью хуков (Hooks).
Посмотреть можно, например, на http://www.delphimaster.ru/articles/hooks/index.html

Ответить   "Surin B.P." Mon, 15 Nov 2004 10:46:19 +0300 (#264863)

 

Здравствуйте, janalex.

Вы писали 14 ноября 2004 г. в 15:55:48 [GMT +2:00]:

вот держи выписку из одного сайта:

Отслеживаем изменения файловой системы
В API есть несколько функций, позволяющих осуществлять контроль за файловой системой.
Так же необходимо подключить компонент TDirWatcher, который содержиться в демонстрационно
проекте.

Компилятор: все версии Delphi

Следующий цикл показывает, как можно получать сообщения о изменениях файловой
системы:

var
ChangeHandle: THandle;
...

ChangeHandle:= FindFirstChangeNotification(PChar(WatchPath), false,
hNotifyFilter);

if ChangeHandle <> INVALID_HANDLE_VALUE then
while true do
begin
if WaitForSingleObject(ChangeHandle,500) = WAIT_OBJECT_0 then
begin
// Событие...
end;
FindNextChangeNotification(ChangeHandle);
end;

Компонент TDirWatcher, используемый в этом цикле, запускается в собственном потоке.
При изменениях в указанной дирректории или поддирректории возникает событие OnChange.

TDirWatcher с демо-программкой здесь:
http://www.sources.ru/delphi/DirWatcher.zip

Ответить   Feniks Tue, 16 Nov 2004 11:07:32 +0200 (#265267)