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

Вниз

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

 
DVM ©   (2003-09-10 17:24) [0]

Вопрос вот в чем. Есть программа, есть хук в длл. Программа и длл общаются посредством Memory Mapped File. Проблема в том, что после зависания или насильственного убиения программы общаться с dll через файл она не может, т.к. не может его создать/открыть, потому что старый уже существует (мое предположение). Вобщем не работает.
Нет ли способа закрыть такой файл, если известно только его имя?


 
Игорь Шевченко ©   (2003-09-10 17:33) [1]


> Проблема в том, что после зависания или насильственного
> убиения программы общаться с dll через файл она не может,
> т.к. не может его создать/открыть


Подробнее на эту тему ? DLL в чужом процессе открывает файл ?


 
Morfein ©   (2003-09-10 17:49) [2]

Этот файл перестаёт существовать после закрытия родительского процесса.


 
DVM ©   (2003-09-10 18:19) [3]


> Подробнее на эту тему ? DLL в чужом процессе открывает файл
> ?

Да. Открывает или создает. Зависит от его текущего состояния.

> Morfein © (10.09.03 17:49) [2]
> Этот файл перестаёт существовать после закрытия родительского
> процесса.

Это я знаю. Но при "вылете" процесса файл тоже закрывается? А тот файл с которым работает длл как закрыть?


 
Игорь Шевченко ©   (2003-09-10 18:25) [4]

Никак. Он же во владении чужого процесса. При выгрузке DLL, если она скажет CloseHandle, он и закроется. Ты можешь запустить свою программу заново, и создать этот файл (разумеется, с именем). Если вернет ошибку ERROR_ALREADY_EXISTS, то продолжай с ним работать



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

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

Наверх




Память: 0.47 MB
Время: 0.064 c
4-42293
frost
2003-08-22 08:58
2003.11.13
Добавление пункта в контекстное меню Windows


1-41383
Lamer_Of_Delphi
2003-10-30 12:22
2003.11.13
GetLocaleInfo


1-41499
tolstiak
2003-10-28 13:15
2003.11.13
Как организовать отчет с рисунками в MS Word


1-41314
Владислав
2003-10-30 12:43
2003.11.13
BASM и длина кода процедуры.


3-41059
Новичок
2003-10-24 06:22
2003.11.13
Проблема с SQL-запросами. Виснут.