crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QProcess и разворачивание свёрнутого окна процесса
Анна
  опции профиля:
сообщение 17.10.2017, 13:39
Сообщение #1


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

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

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




Репутация:   4  


Задача в следующем:
1.При нажатии на кнопку, запустить стороннее приложение (редактор).
2.Если приложение уже запущено, развернуть его окно.

С первым пунктом никаких проблем. Использую QProcess.
Но как развернуть окно уже запущенного приложения, не знаю.

Дело происходит в Windows 7.

Я так поняла, мне надо выполнить какую-то консольную команду винды, имея на руках только Q_ID запущенного мной процесса.

Сообщение отредактировал Анна - 17.10.2017, 14:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 18.10.2017, 7:09
Сообщение #2


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

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

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




Репутация:   34  


Анна, можно попробовать так - потрясти за винапи

найти главное окно процесса, вот тут есть пример
http://forums.codeguru.com/showthread.php?...-process-handle

достать адрес оконной процедуры (параметр GWL_WNDPROC)
https://msdn.microsoft.com/ru-ru/library/wi...4(v=vs.85).aspx

и при помощи функции
https://msdn.microsoft.com/ru-ru/library/wi...1(v=vs.85).aspx

отправить сообщение WM_SHOWWINDOW
https://msdn.microsoft.com/en-us/library/wi...5(v=vs.85).aspx
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Анна
  опции профиля:
сообщение 23.10.2017, 16:01
Сообщение #3


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

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

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




Репутация:   4  


Цитата(Алексей1153 @ 18.10.2017, 7:09) *
Анна, можно попробовать так - потрясти за винапи

Спасибо.

Я поняла, что тупо виндовыми командами задачу не решить, и приуныла. Есть утилитки из третьих рук, которые позволяют и все окна процесса получить и шевелить этими окошками, но не охота таскать эту "тележку" с собой.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 24.10.2017, 7:21
Сообщение #4


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

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

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




Репутация:   34  


Анна, а что приунывать то, команды и утилиты эти же функции используют. Поэтому и таскать ничего не надо - просто вызываешь сама, если программа скомпилирована под винду
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 26.1.2021, 18:01