Друзья! Вот стоит передо мной такая задача, не знаю, с чего начать. google принимает мой запрос как вопрос "не удаляется файл, как узнать, какой процесс его использует"? И даёт обсуждалово программ типа unlocker А мне надо именно узнать, какой процесс открывает файл. Обратную задачу я бы попытался решить сам, перехватив CreateFile, а тут не знаю, что и делать. Да, ещё. Готовые утилиты не подойдут, нужны исходники, советы или api-функции, спасибо!
Установи аудит. Средства Виндоус позволяют это сделать, а потом в логах посмотри там всё будет и процесс и время и т.п.
НАдо же такому случиться. что у меня как раз Windows XP Home Edition. А на ней средства аудита отсутствуют... http://support.microsoft.com/kb/310399/ru
в статьях васма есть прекрасная статья с готовым кодом под данную задачу: кейвордс - SYSTEM_HANDLE, FILE_HANDLE, если же нужно логирование - хукай(охлол, буквы перепутал)) критфайл.
Всем спасибо, Z3N, при всём уважении, unlocker это не то. Эта штука удаляет файлы и показывает какой процесс их использует. А у меня ситуация: файл был открыт (на запись) и ЗАКРЫТ. ЧЕМ? Тут уж никакой unlocker не поможет. Да и вроде как скептически отнёсся к упоминанию этой проги в первом сообщении. Может, вопрос надо было поставить: "какая прога открыла и закрыла файл" JCronuz спасибо, но не то. А вообще у меня файл hosts перезаписывается, вот я и хотел отловить гада, кто в нём ковыряется.!
> Может, вопрос надо было поставить: "какая прога открыла и закрыла файл" постфактум - чаще всего никак. есть конечно вырожденные случаи, но в качестве общего решения не катят.
Могу порекомендовать на .NET сделать программулю раз у тебя Хом Эдишн. Сам никогда не пользовался но вспомнил что у .NET есть нэймспэйс -Вотчер и есть пример в мсдэне, даже на русском: http://msdn.microsoft.com/ru-ru/library/system.io.filesystemwatcher.aspx Если это не слишком запарно то можешь слабать...
amvoz Ой, сорри, что-то я не доглядел.... amvoz Не понимаю, чем вам филимон не подходит? Он ещё и место в коде покажет, с которого был открыт/закрыт файл. Кстати, если я ничего не путаю, то исходники филимона есть в паблике. Надеюсь, что на этот раз я сказал что-то в тему