Delphi. Как определить какой программой используеся файл???
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Delphi. Как определить какой программой используеся файл??? - 2008-02-10 16:05:24.140000
|
|
|
rootkit7
Сообщений: 21
Оценки: 0
Присоединился: 2008-02-04 19:19:08.676666
|
Проблема! Нужно определить какой программой используется открытый файл. Подскажите хотябы в какую сторону думать.
|
|
|
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-10 18:18:49.976666
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
Глянь как работает вот эта програмка mstIsUsedBy
|
|
|
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 02:18:29.373333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Если программно - то без недокументированных функций win32 не обойтись.
|
|
|
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 20:35:34.850000
|
|
|
Яски Хианто
Сообщений: 13
Оценки: 0
Присоединился: 2007-11-24 17:53:43.173333
|
Как хорошо, что ты пришел. 1) Запоминаем имя файла 2) При помгощи функции zwQuerySystemInformation получаешь хендлы всех открытых файлов 3) DuplicateHandle в свой процесс 4) При помощи NtQueryInformationFile получаешь имя каждого файла 5) Сравниваешь 1 и 5 6) Если совпало, значит владелец хендла файла и есть искомый процесс описание функций должно быть на сайте мелкософта, или у меня есть файл NativeApi.pdf, можешь поискать его. Вот пример - написано когда-то мной(наспех в эпоху ламеризма - ногами не бить), реализация идеи MS-Rem`a из статьи "3 способа открытия занятого файла" с сайта wasm.ru, советую прочитать. Как получить имя диска я не понял, да и не особо разбирался. http://ifolder.ru/5316256
|
|
|
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 21:53:59.303333
|
|
|
redsh
Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
|
quote:
ORIGINAL: Яски Хианто 1) Запоминаем имя файла 2) При помгощи функции zwQuerySystemInformation получаешь хендлы всех открытых файлов 3) DuplicateHandle в свой процесс 4) При помощи NtQueryInformationFile получаешь имя каждого файла 5) Сравниваешь 1 и 5 6) Если совпало, значит владелец хендла файла и есть искомый процесс […] реализация идеи MS-Rem`a из статьи "3 способа открытия занятого файла" если ты внимательно прочитаешь эту статью, увидешь, что этот способ сдохнет, как только попробует стырить хэндл именованного пайпа
|
|
|
RE: Delphi. Как определить какой программой используеся файл??? - 2008-02-11 22:35:05.553333
|
|
|
Яски Хианто
Сообщений: 13
Оценки: 0
Присоединился: 2007-11-24 17:53:43.173333
|
Обоснуй? перечитывать статью влом, но уверен, что ты не прав.
|
|
|
|
|