Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизКак определить используется ли файл другим приложением? Найти похожие ветки
← →
UNIVERSAL (2004-10-06 11:26) [0]Здравствуйте Господа. Собственно хотелось узнать дургие способы. Один я знаю - это открыть файл в монопольном режиме, если выдаст ошибку - значит уже его кто-то юзает. Кто что посоветует? Или можно ещё перефразировать вопрос так: Как получить список открытых файлов на машине.
← →
UNIVERSAL (2004-10-06 11:41) [1]Да и ещё, каким именно процессом(приложением) он занят?
← →
BiN © (2004-10-06 13:36) [2]С помощью функции ZwQuerySystemInformation получаешь список хэндлов в системе, в виде массива TSystemHandleTableEntryInfo
Затем сверяешь значение поля ObjectTypeIndex с неким FileTypeIndex (он рвен вроду бы 26, но корректнее его определить в рантайме)
Дальше объяснять?
← →
UNIVERSAL (2004-10-06 14:01) [3]Ща в МСДН посмотрю, но можно и дальше. Просто никогда энтого раньше не делал. Так что заранее (и не заранее) благодарен.
← →
UNIVERSAL (2004-10-06 14:03) [4]Кстати ZwQueryInformation - этого не нашёл. Может вы имели ввиду это - ZwQueryInformationFile
← →
UNIVERSAL (2004-10-06 14:06) [5]Сорри описался. но и это функцию я не нашёл ZwQuerySystemInformation
← →
BiN © (2004-10-06 15:01) [6]Эта функция недокументирована, ее описание есть в ntddk
но в сети как-то попался один хороший пример
присмотрись особенно к модулю unitNTHandles
http://www.wilsonc.demon.co.uk/delphi.htm
← →
UNIVERSAL (2004-10-06 15:28) [7]Спасибо посмотрю.
← →
Игорь Шевченко © (2004-10-06 15:46) [8]BiN © (06.10.04 15:01) [6]
Пора мне свой юнит NTDLL.PAS обновленный выкладывать :)
UNIVERSAL (06.10.04 15:28) [7]
Посмотри еще http://www.schevchenko.net.ru/SRC/QuerySystemInformation_60.zip
← →
UNIVERSAL (2004-10-06 16:27) [9]Игорь Шевченко Спасибо. Посмотрю.
← →
UNIVERSAL (2004-10-07 16:24) [10]2Игорь Шевченко Спасибо большое за юнит. Но так как я относительный чайник в программировании такого рода, то хотелось бы узнать где можно прочитать (желательно на русском) об этом всём подробнее. В частности про режим ядра.
2BiN Жаль, но модуль я так и не нашёл. Может подробнее расскажете.
← →
BiN © (2004-10-07 17:09) [11]UNIVERSAL (07.10.04 16:24) [10]
Жаль, но модуль я так и не нашёл. Может подробнее расскажете.
http://www.wilsonc.demon.co.uk/files/d7/ntlowlevel/ntlowlevel.zip
там есть целый набор полезных классов и, в принципе, сам ntddk.pas (правда, не самый полный...)
← →
Игорь Шевченко © (2004-10-07 18:08) [12]UNIVERSAL (07.10.04 16:24) [10]
> В частности про режим ядра.
На Delphi режима ядра нету :)
> там есть целый набор полезных классов и, в принципе, сам
> ntddk.pas (правда, не самый полный...)
Да, там 10 функций :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c