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

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



Память: 0.45 MB
Время: 0.013 c
4-81108
Vladimir Bolotin
2002-01-10 20:33
2002.04.25
прозрачность в win2k


3-80787
Master Denis
2002-04-04 17:35
2002.04.25
Как изменить имена полей в DBStringGrig


1-80846
kopachev
2002-04-12 20:08
2002.04.25
Прыгающий курсор


1-80889
Darlok
2002-04-14 15:03
2002.04.25
Program Files Dir


3-80833
Alik Chu
2002-04-05 17:14
2002.04.25
Народ! Помогите найти нормальный DbTreeView




   Наверх