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

Вниз

Как по хэндлу процесса получить список открытых файлов   Найти похожие ветки 

 
PFR   (2004-08-11 10:36) [0]

В DLL после выполнения некоторой функции остается залоченным файл (потом он в DLL не используется). Известно имя этого файла. Нужно найти хандл этого файла и закрыть. Подскажите, pls, как это сделать? (или хотя бы ссылочку (кроме sysinternals.com - там все как-то запутано))


 
Игорь Шевченко ©   (2004-08-11 11:11) [1]

www.sysinternals.com Process Explorer или HandleEx


 
PFR   (2004-08-11 11:24) [2]

Спасибо.
Но как мне самому это реализовать в программе?


 
Игорь Шевченко ©   (2004-08-11 12:21) [3]


> Но как мне самому это реализовать в программе?


Для NT-систем через Native API работы с объектами, для Win9x - не знаю. Насчет "закрыть открытый файл" не могу ничего посоветовать, так как открыт файл в другом процессе, и Handle учитывается в его таблице. Авторы программ c Sysinternals используют драйвер режима ядра, чтобы показывать все открытые файли и прочие объекты. При это появляется возможность и закрывать файлы, открытые чужими процессами.

А теперь главный вопрос - с какой целью нужно смотреть открытые файлы и закрывать их ? Иожет, можно найти более простое решение ?


 
PFR   (2004-08-11 13:34) [4]

Проблема на самом деле в том, что у меня (а может и у других)
при установке пароля на таблицу Paradox с помощью функции dbiDoRestructure лочится каталог содержащий таблицы, а мне при определенных условиях надо его прибить из программы. С помощью утилиты Process Explorer выяснил что лок каталога происходит при выполнении этой функции, каталог освобождается только при снятии задачи (а не при закрытии БД), снятие лока вручную не приводит к к-л отрицательным последствиям. Писал в конференцию БД, но там ничем помочь не смогли. Решил пойти другим путем... и опять тупик



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.027 c
14-1094646360
1008
2004-09-08 16:26
2004.09.26
Не подскажите с переносом данных?


4-1092250264
Forelli
2004-08-11 22:51
2004.09.26
Как обращаться к окнам созданным с помощью CreateWindow?


1-1094827912
Андрей-КА
2004-09-10 18:51
2004.09.26
Сообщение об открытии папки (С: Temp)


1-1095061651
kukuikar
2004-09-13 11:47
2004.09.26
Как FlashGet или Net Transport


14-1094541867
Denis
2004-09-07 11:24
2004.09.26
Можно ли дома отремонтировать монитор?