Главная страница
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.013 c
3-80822
Mikeee
2002-04-05 09:16
2002.04.25
Вот вопросик...


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


1-80890
Doctor Deejay
2002-04-14 17:21
2002.04.25
Снова RichEdit


14-81078
VATERMAN
2002-03-20 19:51
2002.04.25
mp3 проигрыватель


3-80813
Atrem
2002-04-04 19:18
2002.04.25
небольшой вопросик