crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> перевод в активное состояние окна приложения
Sancho
  опции профиля:
сообщение 6.8.2010, 15:25
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 6.8.2010
Пользователь №: 1936

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте.
У меня такова проблема: Имеется программа на qt, которая запускает внешнюю программу используя объект и метод класса QProcess

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

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

Имеются соображения по использованию функции WinApi :SetActiveWindow(HWND) Но как получить HWND запущенного приложения? :unknown:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 6.8.2010, 17:04
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9666
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Q_PID QProcess::pid () const
подойдёт?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 6.8.2010, 17:10
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


Цитата(Litkevich Yuriy @ 6.8.2010, 18:04) *
Q_PID QProcess::pid () const
подойдёт?

нет, нужен HANDLE окна, а не процесса.
только не понятно что за свёрнутое окно и где оно создаётся.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sancho
  опции профиля:
сообщение 6.8.2010, 17:29
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 6.8.2010
Пользователь №: 1936

Спасибо сказали: 0 раз(а)




Репутация:   0  


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


свёрнутое окно - окно внешнего приложения, которое запускается из моей программы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 6.8.2010, 17:43
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


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

через WinAPI можно получить HWND по заголовку(HWND WINAPI FindWindow(__in_opt LPCTSTR lpClassName, __in_opt LPCTSTR lpWindowName))

Сообщение отредактировал DEADHUNT - 6.8.2010, 17:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 6.8.2010, 19:29
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9666
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я почти не знаю WinAPI, но думаю, что по ID процесса можно получить и список окон, которые принадлежат этому процессу
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 7.8.2010, 6:57
Сообщение #7


фрилансер
******

Группа: Участник
Сообщений: 2923
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


есть ещё такие полезные апишки

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

WINUSERAPI
BOOL
WINAPI
EnumThreadWindows(
    __in DWORD dwThreadId,
    __in WNDENUMPROC lpfn,
    __in LPARAM lParam);


Сообщение отредактировал Алексей1153 - 7.8.2010, 6:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.4.2021, 23:26