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

Вниз

Как отследить окончание созданного процесса   Найти похожие ветки 

 
ilysha ©   (2002-04-11 10:46) [0]

Суть - есть многостраничный редактор.
Открываем в нем файл, что-то делаем и затем вызываем другую программу редактирования и передаем ей этот файл.
Проблема такова - я создаю процесс:
CreateProcess(nil, PChar(Editor+ " "+ OpenFileName), nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo);

Мне нужно заблокировать доступ к этому файлу до тех пор, пока не будет закрыт созданный процесс.
Какой способ можно применить, если я заранее не знаю, какая программа будет запущена - Word, Notepad или Photoshop.

Из справки я знаю, что многое можно узнать из ProcessInfo, но как это сделать?


 
Alx2 ©   (2002-04-11 10:55) [1]

Посмотри WaitForSingleObject(ProcessHandle, INFINITE)


 
ilysha ©   (2002-04-11 11:34) [2]

Спасибо - то, что надо.
Возникает другой вопрос - я предлагаю пользователю возможность принудительно остановить процесс и для этого использую TerminateProcess. Но это не дает процессу сохранить внесенные в файл изменения.
Как здесь быть?


 
Виктор Щербаков ©   (2002-04-11 11:38) [3]

Отправляй в главное окно запущенного приложения WM_CLOSE.
Появится окошко с вопросом сохранять/не сохранять.
Но вот определить, какое окно является "главным" не просто.


 
panov ©   (2002-04-11 11:38) [4]

>ilysha © (11.04.02 11:34)
Посылай второму приложению сообщение WM_CLOSE.



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
14-81039
ProgMan
2002-03-11 14:35
2002.04.25
9 способов пеpеступить закон падающего бутеpбpода


6-81014
bg8
2002-02-13 18:13
2002.04.25
Нужен WEB Сервер для WindowsME


14-81071
Алексей Петров
2002-03-18 16:54
2002.04.25
Периодически пролетает


3-80748
B_A_V
2002-04-04 08:06
2002.04.25
тип datetime


3-80799
Марина
2002-04-05 09:11
2002.04.25
Table is busy.User:???