Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Как определить используется ли файл другим приложением?   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
6-1094724592
bsa
2004-09-09 14:09
2004.11.21
Как закачать страничку, только текст (без картинок!)


1-1099854492
snake1977
2004-11-07 22:08
2004.11.21
Смешивание цвета


3-1098706766
TohaNik
2004-10-25 16:19
2004.11.21
Изменение кол-ва входящих параметров в SP


14-1099488671
Руслана
2004-11-03 16:31
2004.11.21
Не знает ли кто компонет типа TrackBar только с линейкой


3-1098013171
Dobriy
2004-10-17 15:39
2004.11.21
транзакции в FIBPLUS