PDA

Показать полную графическую версию : Активность


Miko
17-10-2010, 00:07
Здравствуйте уважаемые программисты.

У меня такая проблема.

Есть текстовый файл,его автоматически редактирует программа. (Редактирует программно.)
Возможно ли средствами Delphi узнать какая программа отредактировала мой файл?
Если проще посмотреть активность.. программ и выдать пользователю.

За ранее спасибо. Если написал что то не понятно,объясню.

BlackEric
17-10-2010, 14:24
В общем нужно найти все хендлы в системе с типом File, если у какого-то из них имя совпадет с именем вашего файла то файл открыт, тем процессом которому принадлежит этот хендл.

У Руссиновича (sysinternals.com) утилита handle.exe, которая выдает требуемую информацию. Поищите.

Также нечто похоже показывает их FileMon. Его старые исходники валялись в нете. Возможно там это есть.

Но если программа уже завершила работу с файлом, то все никакой инфы вы не получите.

Miko
17-10-2010, 19:18
Жаль что не получить. Спасибо за ответ.
Обойдусь тогда без этого...

Не буду ставить что вопрос решен,возможно кто нибудь когда нибудь что нибудь подскажет.

BlackEric
18-10-2010, 23:49
В принципе, можно написать драйвер-фильтр файловой системы, который будет отслеживать обращения к файлу. Но это нужно уметь писать драйвера...

Miko
19-10-2010, 01:24
Ну.. Это точно не по мне.
Я лишь начинающий.. Просто есть файл текстовый который не известная программа меняет.
Просто хотел для себя написать не большую утилиту которая бы останавливала действия программы или меняла все обратно.
Не сносить же Windows из за какой то программы..

Спасибо за помощь.

lxa85
19-10-2010, 03:30
Miko, ты уж определись что тебе надо.
Отслеживать активность программ (а их можно поймать только в момент активности) или
восстановление файлов и произведенных действий.

SOV
19-10-2010, 14:24
поюзайте поиск
http://www.google.com.ua/#hl=ru&biw=1440&bih=708&q=FILE_NOTIFY_CHANGE_DIR_NAME%3AForm1.Memo1.Lines.Add(%27FILE_NOTIFY_CHANGE_DIR_NAME%27)%3B&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=2a56e9f0800119f8

Miko
21-10-2010, 20:06
lxa85

Тут мне подойдет оба варианта.. Можно восстановить.
Можно отследить,второй способ был бы лучше.. Я бы снес ПО которое меняет файл и не нужно было бы восстанавливать файл.
Но и первый способ не плохой,самое главное что бы файл был с стандартными значениями.

Iska
21-10-2010, 20:51
Miko, для первого — отловить процесс, который обращается к файлу, — даже писать ничего не потребуется. Берёте Process Monitor (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx), добавляете фильтр на файловые операции с этим файлом и ждёте, пока не отловите процесс.




© OSzone.net 2001-2012