Как я могу отслеживать все файлы, открытые программным обеспечением?
Я хочу написать программу монитора. Он будет следить за специальным программным обеспечением. Когда это программное обеспечение открывает файлы, оно запоминает историю запуска. Таким образом, я могу создать свою собственную систему "Любимый файл" или "Историю" для некоторого программного обеспечения.
т.е. я часто использую Total Commander. Я использовал tc в качестве программы запуска. Большинство моих документов или программ открыты в TC. Но у TC нет открытой системы истории файлов. Поэтому я планирую сделать один.
Когда файлы открываются в ТК. TC является родительским процессом. Я думаю, что есть способ написать код на C#, чтобы получить все файлы, открытые TC (речь идет об отправке сообщений и отслеживании кода). TC написан на delphin, он использует управление списком подставок. C# может решить проблему приятно.
Но я новичок в C#, у меня есть немного навыков AutoHkey и Python программирования. Я учу C# сейчас. Может кто-нибудь дать мне несколько советов по написанию кода? Основная идея в порядке, я справлюсь с графическим интерфейсом.
2 ответа
Возможно, вам не нужно писать свои собственные. Монитор процессов от sysinternals/Microsoft может отслеживать файлы. А с фильтрами вы можете фильтровать по процессу.
Я также занимаюсь разработкой программного обеспечения для мониторинга детей в университете. Я нашел несколько решений для этого.
- Windows HOOK и перехватить все файлы, читать и писать... и т. Д.(Сложно и сложно)
- почему бы просто не проверить папку MyRecentDocuments...:P (пользователь может изменить настройки, которые имеют как плюсы, так и минусы)
Донно, если мы можем использовать класс "Процесс" и сделать что-то..: P
РЕДАКТИРОВАТЬ----------------
я почти забыл... когда я реализовывал компонент мониторинга процесса, я обнаружил, что когда пользователь дважды щелкает файл, запускается файл "dllhost.exe".:) Я думаю, ты понимаешь, что делать сейчас... Я тоже все еще работаю над этим..