Re: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 27.09.05 06:22
Оценка: 4 (1)
Здравствуйте, Ejik123, Вы писали:

E>помогите пожалуйста у меня такая проблема надо написать программу которая будет отлавливать все изменения в файлах на всех локальных дисках.


Это просто — включаешь журналирование функцией FindFirstChangeNotification и читаешь журнал ReadDirectoryChangesW.
Подробно в MSDN

E>и обрашения то есть если позьзователь ни чего не изменяя открывает папку или файл чтобы она это показала. короче аналог программы filemon от sysinternals


Это только через зад, т.е. через драйвер. На Delphi писать его проедсатвляется несколько нереальным

Хотя есть и другие способы — перехват API (не хук), описанный у Рихтера в главе "Перехват API-вызовов с использованием раздела импорта".
Распознавание изображений на Delphi http://dfreader.sourceforge.net
Re[11]: монитор каталогов на делфи
От: prima_lux Украина  
Дата: 30.09.05 21:15
Оценка: -1
Здравствуйте, Ejik123, Вы писали:

K>>Раз должна следить, то надо перехватывать вызовы функции ntOpenFile и т.п. — значит только драйвер. Другого пути просто нет. Именно драйвер может проверять и разрешать.

K>>Драйвера режима ядра пишут на C. Причем на чистом C без плюсов. Точнее так писать проще всего — это естественный путь.
E> понятно значит вляпался по самое не балуйся а можно где нить прочитать или еще лучше получить исходничек этого самого драйвера малоли может ещё кому нить прижало такую прогу писать. и еще если я вдруг напишу(найду) этот драйвет как с ним из делфы работать? и если не трудно можно конкретнее что за драйвер должен быть и хотябы в двух словах как его раелизовать
Это драйвер фильтра запросов к файловой системе верхнего уровня. Дальше — RTFM NT DDK — там все есть. На делфи его написать можно, но нужно будет вручную половину хедеров переписать. filemon, кстати, через драйвер и работает. Исходники примеров драйверов есть в ДДК. Как с ним работать поймеш после его написания
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: монитор каталогов на делфи
От: Ejik123  
Дата: 06.10.05 09:18
Оценка: :)
а нет ли какого нить белее хитрого метода как его достать??
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
монитор каталогов на делфи
От: Ejik123  
Дата: 25.09.05 07:18
Оценка:
добрый день
помогите пожалуйста у меня такая проблема надо написать программу которая будет отлавливать все изменения в файлах на всех локальных дисках. и обрашения то есть если позьзователь ни чего не изменяя открывает папку или файл чтобы она это показала. короче аналог программы filemon от sysinternals
как это сделать буду рад любой помощи
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: монитор каталогов на делфи
От: ironwit Украина  
Дата: 26.09.05 13:54
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>добрый день

аналогично
E>как это сделать буду рад любой помощи
смотреть в сторону хуков на доступ к файлу. 1
Автор: Shmalex
Дата: 23.11.04

2
Автор: ASGS
Дата: 20.11.04

3
Автор: _cb_
Дата: 09.04.02

ну итд...
... << RSDN@Home 1.2.0 alpha rev. 618>>
Я не умею быть злым, и не хочу быть добрым.
Re[2]: монитор каталогов на делфи
От: Ejik123  
Дата: 26.09.05 15:05
Оценка:
почитал но всеравно остается много вопросов
точнее один самый интересный моя оснавная задача не отследить изменение в файле или каталоге а отловить факт !!ПОПЫТКИ!! открытия файла или каталого. а затем уже решать разрешить открытие или нет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: монитор каталогов на делфи
От: ironwit Украина  
Дата: 26.09.05 15:11
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>почитал но всеравно остается много вопросов

E>точнее один самый интересный моя оснавная задача не отследить изменение в файле или каталоге а отловить факт !!ПОПЫТКИ!! открытия файла или каталого. а затем уже решать разрешить открытие или нет.
необходимо ставить хук именно на попытку отрытия файла системой.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Я не умею быть злым, и не хочу быть добрым.
Re[4]: монитор каталогов на делфи
От: Ejik123  
Дата: 26.09.05 20:38
Оценка:
если бы все было так просто ставить хук проблема заключается в том как это сделать если не трудно подскажите какие функции это выполняют
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: монитор каталогов на делфи
От: ironwit Украина  
Дата: 27.09.05 05:42
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>если бы все было так просто ставить хук проблема заключается в том как это сделать если не трудно подскажите какие функции это выполняют

трудно очень давно это делал, да и немного. так что все таки гугль и мсдн. етм более что направление указано
... << RSDN@Home 1.2.0 alpha rev. 618>>
Я не умею быть злым, и не хочу быть добрым.
Re[6]: монитор каталогов на делфи
От: Ejik123  
Дата: 28.09.05 10:55
Оценка:
напаравление то указанно вот только правильно ли я его сформцлировал дело в том надо написать программку не аналог filemon а аналог folderguard. и поэтому как я представил программа должна быть больше похожей на filemon по крайней мере изнутри но сейчас мне начинает казаться что я очень ошибался кажется folderguard работает по другому принципу и если кто нить занает по какому скажите плс
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: монитор каталогов на делфи
От: ironwit Украина  
Дата: 29.09.05 06:29
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>напаравление то указанно вот только правильно ли я его сформцлировал дело в том надо написать программку не аналог filemon а аналог folderguard. и поэтому как я представил программа должна быть больше похожей на filemon по крайней мере изнутри но сейчас мне начинает казаться что я очень ошибался кажется folderguard работает по другому принципу и если кто нить занает по какому скажите плс


ничего не понял. распиши плс подробно? ТЗ чтоли
... << RSDN@Home 1.2.0 alpha rev. 618>>
слушаю: Secret Service — [Dance Hits And Remixes #17] Night City [foobar2000 v0.8.3]
Я не умею быть злым, и не хочу быть добрым.
Re[7]: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 29.09.05 06:36
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>кажется folderguard работает по другому принципу и если кто нить занает по какому скажите плс


По-моему она ставит свой драйвер, который перехватывает функции ntOpenFile и т.д.
Распознавание изображений на Delphi http://dfreader.sourceforge.net
Re[8]: монитор каталогов на делфи
От: Ejik123  
Дата: 30.09.05 12:29
Оценка:
надо писать нечто похожее на folderguard. а если подровнее то программа должна сидеть и постоянно отслеживать кто и куда лезет а потом разрешать ему это делать или нет.
со второй половиной я примерно знаю что делать а вот с первой СИДЕТЬ И СЛЕДИТЬ я не знаю думал что принцип должен быть как у filemon а потом подумал что нет в итоге запутался и сам и вса всех запутал.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 30.09.05 13:45
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>надо писать нечто похожее на folderguard. а если подровнее то программа должна сидеть и постоянно отслеживать кто и куда лезет а потом разрешать ему это делать или нет.

E>со второй половиной я примерно знаю что делать а вот с первой СИДЕТЬ И СЛЕДИТЬ я не знаю думал что принцип должен быть как у filemon а потом подумал что нет в итоге запутался и сам и вса всех запутал.

раз она должна сидеть, то программа резидентная. Значит это служба или драйвер.
Раз должна следить, то надо перехватывать вызовы функции ntOpenFile и т.п. — значит только драйвер. Другого пути просто нет. Именно драйвер может проверять и разрешать.
Драйвера режима ядра пишут на C. Причем на чистом C без плюсов. Точнее так писать проще всего — это естественный путь.

Если вы в силах написать свой собственный драйвер файловой системы, то пишите. Там нет ничго сложного, но нужны специфические знания, а также DDK.
Иначе закажите разработку где-нибудь еще.

Либо перейдите на другие средства доступа к файлам — например, FTP-сервер.
Распознавание изображений на Delphi http://dfreader.sourceforge.net
Re[10]: монитор каталогов на делфи
От: Ejik123  
Дата: 30.09.05 14:05
Оценка:
K>Раз должна следить, то надо перехватывать вызовы функции ntOpenFile и т.п. — значит только драйвер. Другого пути просто нет. Именно драйвер может проверять и разрешать.
K>Драйвера режима ядра пишут на C. Причем на чистом C без плюсов. Точнее так писать проще всего — это естественный путь.
понятно значит вляпался по самое не балуйся а можно где нить прочитать или еще лучше получить исходничек этого самого драйвера малоли может ещё кому нить прижало такую прогу писать. и еще если я вдруг напишу(найду) этот драйвет как с ним из делфы работать? и если не трудно можно конкретнее что за драйвер должен быть и хотябы в двух словах как его раелизовать
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: монитор каталогов на делфи
От: Ejik123  
Дата: 01.10.05 10:12
Оценка:
спасибо уже понятнее становится вот если бы только что нить подкинут пару ресурсов или книг где все это хорошо написано буду очень рад и еще кто нить сам писал такую ерунду?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: монитор каталогов на делфи
От: Ejik123  
Дата: 01.10.05 10:26
Оценка:
спасибо уже понятнее становится вот если бы только что нить подкинут пару ресурсов или книг где все это хорошо написано буду очень рад и еще кто нить сам писал такую ерунду?
и еще скажите пожалуйста filemon использует драйвер написанный только под себя или его как нить хитро можно использовать в своих программах если да то как????
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: монитор каталогов на делфи
От: svd71 http://visualdesigner.fatal.ru/
Дата: 02.10.05 11:45
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>надо писать нечто похожее на folderguard. а если подровнее то программа должна сидеть и постоянно отслеживать кто и куда лезет а потом разрешать ему это делать или нет.

E>со второй половиной я примерно знаю что делать а вот с первой СИДЕТЬ И СЛЕДИТЬ я не знаю думал что принцип должен быть как у filemon а потом подумал что нет в итоге запутался и сам и вса всех запутал.

В Демках к дельфе есть пример. помоему по работе с СОМ-объектами. так вот там регистрируется в системе библиотека, и когда ты производишь дествия — (копирование файла) — она вываливет свое окно с предупреждением. {$DELPHI}\Demos\ActivX\ShellExt\CopyHk.dpr.
коковыряй ее и посмотри как это борманы делают, а заодно по этому же пути в МСДН поищеш.
Re[10]: монитор каталогов на делфи
От: Ejik123  
Дата: 02.10.05 18:09
Оценка:
угу понятно только если не трудно и я конечно понимаю что вопрос очень глупый но все же при компиляции создается ДЛЛ так вогт как ею пользоваться
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 03.10.05 05:28
Оценка:
Здравствуйте, prima_lux, Вы писали:

_>На делфи его написать можно, но нужно будет вручную половину хедеров переписать.


В Delphi нарписать его НЕЛЬЗЯ!!!
Можно написать только часть кода, но в итоге без инструментов DDK не обойтись. А они понимают только файлы от Delphi 3.
ИМХО, лучше и проще написать его на C. Драйвер элементарный.

Кое-какая информайия есть здесь — hardline.ru
Еще советую почитать статью Создание драйверов режима ядра в среде Borland Delphi
Автор(ы): Геннадий Порев
Дата: 20.02.2005
Как известно, Borland, создавая Delphi, ориентировал этот продукт на рынок производства ПО для бизнеса. Поэтому в состав этого продукта не включено средств для создания таких низкоуровневых вещей, как драйверы. Однако Delphi является универсальной средой программирования и позволяет создавать ПО, ориентированное на любые задачи. В данной статье рассматривается создание драйвера средствами Delphi.


А так в любом случае нужен DDK, а с ним идет комплект документации.
Распознавание изображений на Delphi http://dfreader.sourceforge.net
Re[11]: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 03.10.05 05:33
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>если при компиляции создается ДЛЛ так вогт как ею пользоваться


Нужно написать еще одну программку, которая будет вызывать функции из этой DLL.
В файле проекта DLL есть раздел exports — в нем описаны функции, которые "видны" из этой DLL.
Тебе нужно в своей программе объявить такие же, но после объявления написать external, имя dll и имя функции (или номер в списке экспорта):
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'user32.dll' name 'SendMessageA';
Распознавание изображений на Delphi http://dfreader.sourceforge.net
Re[10]: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 03.10.05 05:48
Оценка:
Здравствуйте, svd71, Вы писали:

S>В Демках к дельфе есть пример. помоему по работе с СОМ-объектами. так вот там регистрируется в системе библиотека, и когда ты производишь дествия — (копирование файла) — она вываливет свое окно с предупреждением. {$DELPHI}\Demos\ActivX\ShellExt\CopyHk.dpr.


Это немного не то. Это Shell Extension. Оно прекрасно работает, но только через эксплорер
Распознавание изображений на Delphi http://dfreader.sourceforge.net
Re[11]: монитор каталогов на делфи
От: Ejik123  
Дата: 03.10.05 15:09
Оценка:
K>Это немного не то. Это Shell Extension. Оно прекрасно работает, но только через эксплорер

если я правильно понял то при при выполнении операции на которую поставлена ловушка например через far он ни капельки не ругнется
так что же делать??
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: монитор каталогов на делфи
От: Ejik123  
Дата: 03.10.05 15:09
Оценка:
это значит что примерно таким же образом можно использовать и ДЛЛ от filemon если да то можно конкретнее как?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: монитор каталогов на делфи
От: Ejik123  
Дата: 03.10.05 15:11
Оценка:
Люди добрые что за ДДК ничего не понимаю насколько я понял это driver developer/ment kit. тогда где его скачать??
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 06.10.05 05:07
Оценка:
Здравствуйте, Ejik123, Вы писали:

K>>Это немного не то. Это Shell Extension. Оно прекрасно работает, но только через эксплорер


E>если я правильно понял то при при выполнении операции на которую поставлена ловушка например через far он ни капельки не ругнется


Совершенно верно.

E>так что же делать??


Re[9]: монитор каталогов на делфи
Автор: kavlad
Дата: 30.09.05
Распознавание изображений на Delphi http://dfreader.sourceforge.net
Re[14]: монитор каталогов на делфи
От: kavlad Россия http://www.wavesoft.ru
Дата: 06.10.05 05:11
Оценка:
Здравствуйте, Ejik123, Вы писали:

E>Люди добрые что за ДДК ничего не понимаю насколько я понял это driver developer/ment kit. тогда где его скачать??


Купить. На сайте Майкрософт. 199$
Либо подписаться на MSDN и получить.
Распознавание изображений на Delphi http://dfreader.sourceforge.net
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.