Как вы определяете последний процесс для изменения файла? - PullRequest
3 голосов
/ 05 мая 2009

Я знаю, как получить пользователя, который последний раз изменял файл, но отслеживает ли Windows процесс, который также внес изменения? Если да, есть ли API для его поиска?

Ответы [ 5 ]

1 голос
/ 05 мая 2009

Нет. Это не записано.

Вы можете включить Аудит доступа к объектам в определенной папке (я не рекомендовал бы использовать в общей файловой системе). Смотрите этот пост и используйте с осторожностью!

Возможно, вы сможете использовать .NET FileSystemWatcher class.

0 голосов
/ 21 сентября 2017

Вы можете использовать procmon.exe из https://live.sysinternals.com/procmon.exe Это живой монитор, поэтому не стоит использовать его ретроспективно.

  1. Снимите (снимите флажок) с пункта меню «Файл | Захват событий».
  2. Очистить отображаемые в данный момент события, выбрав «Редактировать | Очистить» Дисплей »пункт меню.
  3. Настройка фильтра:

    а. Выберите пункт меню «Фильтр | Фильтр ...» монитора процесса. Это будет отобразить диалоговое окно «Фильтр монитора процесса».

    б. Установите новый фильтр, установив «Отображать записи, соответствующие этим условия "поля:

    с. (выбрать) Путь (выбрать) содержит whatever.txt, затем (выбрать) Включить

    д. Нажмите кнопку «Добавить», чтобы добавить новый фильтр.

получено из инструкций здесь: http://answers.perforce.com/articles/KB/3035

0 голосов
/ 05 мая 2009

Не могли бы вы использовать Windows аудит безопасности для регистрации доступа к файлу?

0 голосов
/ 05 мая 2009

Если вы хотите определить процесс, который изменяет файл во время выполнения вашей программы, вы можете использовать Windows API или драйвер минифильтра для отслеживания того, что делает каждый процесс в системе (аналогично использованию Sysinternals FileMon с пользовательским фильтры, как указал Бу), но это будет применяться только во время выполнения вашей программы захвата. Однако после изменения файла все следы исчезают.

0 голосов
/ 05 мая 2009

Windows НЕ отслеживает процесс, который изменяет файл. Лучшее, на что вы можете надеяться, - это активно просматривать интересующие вас файлы и делать заметки, когда приложение открывает их. Я видел приложения, которые делают это (например, Sysinternals FileMon), но не знают, как это сделать.

...