Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
14-1099256045
Herki
2004-10-31 23:54
2004.11.21
скан определённого IP диапазона на наличие Пабов........


3-1098280573
Tchainik_Delphi
2004-10-20 17:56
2004.11.21
Добавление данных с помощью TIBDataSet.


8-1091519717
parovoZZ
2004-08-03 11:55
2004.11.21
Флипинг и блитинг


1-1099577874
X-Disa
2004-11-04 17:17
2004.11.21
Запись в файл


1-1099647567
Pentium133
2004-11-05 12:39
2004.11.21
Delphi 6 и Delphi 4




   Наверх