ВОзникла проблема с закрытием стороней программы... Вообщем я сделла чтобы через мою прогну можно было открыть другую.. Code: AppHI := ShellExecute(Handle, 'open',PChar(Edit3.Text), nil, nil, SW_SHOWNORMAL); Но вот мне надо сделать чтобы можно было закрыть её через мою прогу... Программа, которую запускаю через свою прогу - консольная....
Isis, небольшой примерчик: Code: var appname: string; start: TStartupInfo; procInfo: TProcessInformation; begin appname := 'cmd.exe'; fillchar(start, sizeof(start), 0); fillchar(procInfo,sizeof(procInfo), 0); CreateProcess(nil,pchar(appname),nil,nil,false,0,nil,nil,start,procInfo); sleep(1000); TerminateProcess(procInfo.hProcess,0); end;
Не, appname := 'cmd.exe'; это я для примера запускаю консоль. CreateProccess создает процесс, структура procInfo заполняется информацией о процессе. Завершается процесс через TerminateProcess (подается procInfo.hProcess - хэндл созданного процесса). В примере через секунду. Тебе нужно будет procInfo объявить как глобальную, зарершить процесс сможешь когда тебе угодно.
Ты не понял примера. Там запуск идет не через shellexecute, а через createprocess, что, кстати, более красиво, но суть не в том. CreateProcess, если запуск прошел удачно, вернет тебе ThreadId, ProcessId, hThread, hProcess созданного процесса. Дальше можно смело орудовать этими значениями (конечно, стоит их гдето сохранить). Потом вызовешь TerminateProcess(pi.hProcess, 0) и все. Кстати, а каким боком вопрос относится к дельфи? Тему разделяю.. автору -
Есть хотя бы часть заголовка, которая не меняется?! Если ДА, то: http://delphiworld.narod.ru/base/api_find_window_and_activate_it.html