![]() |
ВОзникла проблема с закрытием стороней программы...
Вообщем я сделла чтобы через мою прогну можно было открыть другую.. Код:
AppHI := ShellExecute(Handle, 'open',PChar(Edit3.Text), nil, nil, SW_SHOWNORMAL);Программа, которую запускаю через свою прогу - консольная.... |
Цитата:
Программа консольная, заголовки окна все время меняются... |
Программа консольная, заголовки окна все время меняются...
|
Pid ведь всегда меняется :(
|
Isis, небольшой примерчик:
Код:
var |
Цитата:
Хм, т.е. можно прогу закрыть по имени в процессах? |
Не, appname := 'cmd.exe'; это я для примера запускаю консоль. CreateProccess создает процесс, структура procInfo заполняется информацией о процессе. Завершается процесс через TerminateProcess (подается procInfo.hProcess - хэндл созданного процесса). В примере через секунду. Тебе нужно будет procInfo объявить как глобальную, зарершить процесс сможешь когда тебе угодно.
|
Ну тут опять надо знать заголовок проги, а он постояно меняется =\
|
Isis, в примере, что дал Joker-jar не надо знать заголовок окна.
|
Цитата:
CreateProcess, если запуск прошел удачно, вернет тебе ThreadId, ProcessId, hThread, hProcess созданного процесса. Дальше можно смело орудовать этими значениями (конечно, стоит их гдето сохранить). Потом вызовешь TerminateProcess(pi.hProcess, 0) и все. Кстати, а каким боком вопрос относится к дельфи? Тему разделяю.. автору - |
| Время: 14:05 |