Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: перевод в активное состояние окна приложения
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
Sancho
Здравствуйте.
У меня такова проблема: Имеется программа на qt, которая запускает внешнюю программу используя объект и метод класса QProcess

QProcess proc;
QDir::setCurrent(way);
proc.start(name_exe);

в результате нажатие кнопки в программе на qt, необходимо сделать активным окно внешней запущенной программы, которое могло быть свёрнуто в результате его использования.

Имеются соображения по использованию функции WinApi :SetActiveWindow(HWND) Но как получить HWND запущенного приложения? :unknown:
Litkevich Yuriy
Q_PID QProcess::pid () const
подойдёт?
DEADHUNT
Цитата(Litkevich Yuriy @ 6.8.2010, 18:04) *
Q_PID QProcess::pid () const
подойдёт?

нет, нужен HANDLE окна, а не процесса.
только не понятно что за свёрнутое окно и где оно создаётся.
Sancho
Цитата(DEADHUNT @ 6.8.2010, 18:10) *
нет, нужен HANDLE окна, а не процесса.
только не понятно что за свёрнутое окно и где оно создаётся.


свёрнутое окно - окно внешнего приложения, которое запускается из моей программы
DEADHUNT
Цитата(Sancho @ 6.8.2010, 18:29) *
свёрнутое окно - окно внешнего приложения, которое запускается из моей программы

через WinAPI можно получить HWND по заголовку(HWND WINAPI FindWindow(__in_opt LPCTSTR lpClassName, __in_opt LPCTSTR lpWindowName))
Litkevich Yuriy
я почти не знаю WinAPI, но думаю, что по ID процесса можно получить и список окон, которые принадлежат этому процессу
Алексей1153
есть ещё такие полезные апишки

WINUSERAPI
BOOL
WINAPI
EnumWindows(
    __in WNDENUMPROC lpEnumFunc,
    __in LPARAM lParam);

WINUSERAPI
BOOL
WINAPI
EnumThreadWindows(
    __in DWORD dwThreadId,
    __in WNDENUMPROC lpfn,
    __in LPARAM lParam);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2022 IPS, Inc.