Вниз
Скачать: 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.008 c
1-80862
Vinivor
2002-04-11 12:10
2002.04.25
Почему не работает?


1-80893
vovan13
2002-04-14 18:17
2002.04.25
Как остановить бесконечный цикл?


14-81057
fliz
2002-03-20 09:22
2002.04.25
Если на машине нет и никогда не было установлено Access, то через BDE можно работать с аксесовской базой. Или я что-то путую?


3-80829
Seri
2002-04-05 07:21
2002.04.25
Что за файлы DDP в Delphi 6?


1-80937
Алена
2002-04-11 17:49
2002.04.25
Async Pro + Модем




   Наверх