Мониторить файлы, открытые определённой программой.

Обсуждение программ nnCron и nnCron LITE

Мониторить файлы, открытые определённой программой.

Postby Roman55 » Tue, 10 Mar 2015, 10:46

Есть утилита handle.exe, она показывает в том числе, какие файлы используются определённой программой. Неудобство, что нужно постоянно в цикле запускать её, но даже и при запуске каждую секунду она не всегда отслеживает файл, слишком быстро файл появляется и исчезает. Возможно ли nnCron -ом, как службой, постоянно отслеживать и выцеплять имена файлов определённого вида, либо расширения, которые данная программа "читает" и передавать их в батник? Обычно прога "читает" стандартный набор файлов и изредка(раз в 10 секунд) проскакивают нужные мне файлы(но быстро), в единичном экземпляре. Или nnCron точно таким же образом в цикле проверять может?
Roman55
 
Posts: 1
Joined: Tue, 10 Mar 2015, 10:35

Re: Мониторить файлы, открытые определённой программой.

Postby VoidVolker » Wed, 11 Mar 2015, 01:35

Либо через windows api либо делать сторонней программой лог и парсить его в ннкроне.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Мониторить файлы, открытые определённой программой.

Postby elos » Wed, 11 Mar 2015, 13:24

Если программа оконная и в своём заголовке ещё и имя файла показывает - никто не мешает использовать WatchWindow и затем парсить %FOUND-WINDOW%.
Если в заголовке не показывает имя файла или программа консольная - я бы отслеживал её по WatchProc:, далее использовать от Wyz слово GetProcessCmdLine (его, кстати, отдельно вставлял в набор слов AlikasS), результат которого уже и парсить...
elos
 
Posts: 667
Joined: Tue, 25 Apr 2006, 11:15

Re: Мониторить файлы, открытые определённой программой.

Postby AlikasS » Thu, 12 Mar 2015, 08:06

elos, Roman55 хочет, я так понял, немного другое: смотреть какие файлы открыты определенным процессом,
например nncron.exe держит открытым nncron.out и т.п.
т.е. надо допиливать работа с процессами и потоками, на предмет такого мониторинга, как сказал VoidVolker, через Win Api
User avatar
AlikasS
 
Posts: 1437
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Мониторить файлы, открытые определённой программой.

Postby VoidVolker » Thu, 12 Mar 2015, 10:35

Кроме того, сама по себе эта задача довольно нетривиальна. Для висты и выше должен работать вот этот способ: https://msdn.microsoft.com/ru-ru/magazine/cc163450.aspx
Для XP - только драйвер уровня ядра. Proc/Portmon из комплекта Sysinternals работает через свой драйвер.
Если файлы известны, то можно отслеживать с помощью WatchFile: "disk:\path\file" - оно отслеживает изменения файлов.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests