Как проверить, обращается ли Windows к файлу

0

Я хочу проверить, когда или когда Windows (7) обращается к конкретному файлу. Есть программа, которая читает определенный файл, содержимое которого я хочу заменить прямо перед тем, как Windows его читает. Это возможно? Если так, то как? На OS X / Linux есть, fs_usageкоторый показывает использование файловой системы. Есть ли что-нибудь подобное в Windows?

tzippy
источник
Часть 1 частично проста: монитор процесса может показать вам, когда и как осуществляется доступ к файлу. См. En.wikipedia.org/wiki/Sysinternals . Теперь кто-то с идеей, как сделать это программно и как действовать на это.
Хеннес
Я не думаю, что это возможно. Как вы узнаете, что Windows собирается прочитать файл ? Вы не можете знать о будущих событиях.
DavidPostill
1
Наилучшее предположение (здесь нет внутренних знаний о Windows): вы можете перехватить команду открытия файла. Проверьте, какой файл открывается, и если в специальном списке сначала выполните какие-либо другие действия или откройте другой файл ... Вы также можете получить удовольствие, пройдя мимо любой антивирусной программы.
Хеннес
@DavidPostill Ну, я имею в виду остановка окон при доступе к самому файлу, замена его содержимого, а затем позволить ему продолжить чтение этого файла.
Циппи
1
@tzippy Возможно, вы сможете написать программу для добавления «хука» в вызов File Open API ... но это здесь не по теме. Возможно, переполнение стека может помочь, но, пожалуйста, сначала прочтите Как задать хороший вопрос? ,
DavidPostill