Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для RUVATA

Старожил


Сообщения: 301
Благодарности: 16

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg Openfiles1.jpg
(43.8 Kb, 45 просмотров)
Тип файла: jpg Openfiles2.jpg
(43.3 Kb, 43 просмотров)
Тип файла: jpg Openfiles3.jpg
(41.9 Kb, 43 просмотров)

А ларчик-то очень просто открывался...
Вопрос поднимался на нескольких форумах посвященных программированию и администрированию,
и никто ни где так и не дал правильного ответа на вопрос "Как определить Используется ли вот этот файл, и если да, то кем?"
а вот вам и ответ...
и не надо блукать вокруг Windows API, копировать Handles, и иными способами извращаться...
так как Microsoft предусмотрительно начиная с версий NT, в составе системных утилит предоставляет нам openfiles.exe
которая банально уже из самого названия понятно, предназначена для предоставления информации об OPENFILES



Данная утилита определяет привилегии запустившего ее пользователя, достаточные или нет для получения такой информации.
и по запросу с аргументом \Query (по умолчанию, можно аргумент опустить) выдает нам все что мы так жаждали увидеть.
В изначальном состоянии данная утилита находится в режиме отображения информации исключительно об открытых по сети файлов...
но изменив значения флага \Local отвечающего за "построение списка объектов" ...



... и изменить его используя аргумент /Local on
параметры вступят в силу после перезагрузки системы...

вуаля! ... обращаемся к openfiles.exe.. и с ее StandartOutput
снимаем таблицу следующего содержания

-------
Одно дело искать сиюминутное решение, другое - искать знания...
вот и думай - что ты ищешь...


Последний раз редактировалось RUVATA, 21-01-2011 в 12:09.


Отправлено: 10:50, 20-01-2011 | #6