Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Firefox от Июля 08, 2011, 16:49



Название: активизировать запущенное приложение
Отправлено: Firefox от Июля 08, 2011, 16:49
Здравствуйте. у меня из программы запускаются внешние программы. но бывает что запущенная вновь программа сворачивается, а этого мне совсем не надо. Главная программа должна работать в фоне, просто координируя работу запускаемых приложений. Запускаю программы при помощи QProcess. Погуглила и поняла что активизировать окно программы можно сишной функцией ShowWindow(), но надо знать идентификатор окна приложения. функция start() в qt не возвращает идентификатор процесса. переделывать весь запуск на запуск сишной функцией CreateProcess, которая использует идентификатор объекта не очень хочется. подскажите может в qt 4 есть что-то подобное типа ShowWindow() или модно получить как-то идентификатор процесса.


Название: Re: активизировать запущенное приложение
Отправлено: Пантер от Июля 11, 2011, 09:40
Цитировать
Q_PID QProcess::pid () const
Returns the native process identifier for the running process, if available. If no process is currently running, 0 is returned.


Название: Re: активизировать запущенное приложение
Отправлено: brankovic от Июля 11, 2011, 10:47
сишной функцией ShowWindow(), но надо знать идентификатор окна приложения ... идентификатор процесса.

если память не изменяет, идентификатор окна и процесса это разные вещи. Если уж мешать с winapi, то лучше воспользоваться findWindow, которая находит id _окна_ по его имени.