|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2008, 01:33 | #1 |
Пользователь
Регистрация: 04.06.2008
Сообщений: 32
|
список всех открытых файлов и папок.
Посоветуйте пожалуйста, как получить список всех открытых файлов и папок в системе.
Вобщем программка стартует вместе с запуском системы и следит за тем какие файлы, папки, какие ссылки были открыты. Хотя бы с помощью чего это сделать. Основная идея. К%акими функциями пользоваться. Также нужно, чтобы еще и время открытия файла отображала. И время закрытия)))) |
22.06.2008, 01:45 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Это совсем не тривиальная задача. Можно получить список всех открытых объектов, через NtQuerySystemInformation, но даст это мало. Для тех целей, что Вы формулируете, нужен драйвер.
|
22.06.2008, 02:03 | #3 |
Пользователь
Регистрация: 04.06.2008
Сообщений: 32
|
подробней можно? Мне это ни о чем не говорит вообще.
Я так понял, что это совсем сложно что ли? |
22.06.2008, 03:13 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Teleport, что подробней? Копайте в сторону NtQuerySystemInformation с параметрами SystemHandleInformation и SystemObjectInformation. Получайте через неё список открытых хэндлов, выбирайте из них те, которые являются файлами, получайте имена. Только стоит учесть, что файл может быть открыт десятком процессов, а выяснить, какой процесс открыл конкретный системный объект не самая простая задача. Плюс Вы ещё и время хотите, мало того, что открытия, так ещё и закрытия, т.е. хотите получить информацию о несуществующем больше объекте. Поэтому и говорю - хотите получить всю эту инфу - пишите драйвер. Перехватывайте NtCreateFile, NtCloseHandle, мониторьте то, что они возвращают и ведите свой список открытых файлов, с привязкой к процессам и временам.
|
22.06.2008, 11:29 | #5 |
Пользователь
Регистрация: 04.06.2008
Сообщений: 32
|
уже понятней)) Спасиб))
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Список открытых портов | Баламут | Работа с сетью в Delphi | 3 | 21.05.2008 10:17 |
Как в Memo1 вывести список папок? | apromix | Общие вопросы Delphi | 1 | 08.05.2008 15:12 |
Список открытых файлов | ExcArt | Microsoft Office Excel | 3 | 30.03.2008 11:06 |
Получить список папок | Иллидан | Общие вопросы Delphi | 1 | 22.03.2008 15:24 |
Как узнать список всех окон | Никки | Общие вопросы Delphi | 5 | 23.01.2008 08:10 |