Что нового

Восстановить окно кликом по его иконке в трее

badhabit

Новичок
Сообщения
36
Репутация
0
Добрый день. У меня довольно специфичная задача. Мне нужно восстанавливать минимизированое окно, но не функцией WinActivate(), а именно кликом мышки по ее иконке/кнопке в трее (речь _не_ о трее, где маленькие иконки, который около часов, а про трей, куда минимизируются приложения).
Как я понял получить координаты иконки/кнопки в трее не совсем тривиальная задача, может тогда можно сделать это через поиск соответствующих пикселей на трее, есть у кого-нибудь идеи как это сделать?
 
Автор
B

badhabit

Новичок
Сообщения
36
Репутация
0
Спасибо большое! Вариант с Send("#3") вроде как мне подходит!
 
Автор
B

badhabit

Новичок
Сообщения
36
Репутация
0
InnI сказал(а):
badhabit
речь _не_ о трее, где маленькие иконки, который около часов, а про трей, куда минимизируются приложения
Это называется "панель задач".

идеи как это сделать
Ответ #3
Нет, как выяснилось не подходит. Так как иконка/кнопка приложения на панели задач - это иконка/кнопка приложения, запущенного через vmware unity mode (виртуальная машина) так что его подклинивает от WinActivate и Send(#3). думаю только нажатие мышки на нем будет воспринято им нормально. Так вот хотел узнать у опытных товарищей, как лучше искать иконку на панели задач? Через _ImageSearch или просто несколько определенных PixelSearch() по скриншоту панели задач? Подскажите если у кого был опыт...
 
A

Alofa

Гость
На примере иконки "Intеrnеt Ехрlоrеr":
Код:
#include <UIAutomate.au3>
$hWnd = WinGetHandle('[CLASS:Shell_TrayWnd]')
$oParent = _UIA_GetElementFromHandle($hWnd)
$oElement = _UIA_GetControlTypeElement($oParent, $UIA_ButtonControlTypeId, 'Intеrnеt Ехрlоrеr', Default, True)
_UIA_ElementMouseClick($oElement)

Вам понадобиться библиотека UIAutomate.au3 - смотрите Example (пример) в архиве.
 
Автор
B

badhabit

Новичок
Сообщения
36
Репутация
0
Alofa сказал(а):
На примере иконки "Intеrnеt Ехрlоrеr":
Код:
#include <UIAutomate.au3>
$hWnd = WinGetHandle('[CLASS:Shell_TrayWnd]')
$oParent = _UIA_GetElementFromHandle($hWnd)
$oElement = _UIA_GetControlTypeElement($oParent, $UIA_ButtonControlTypeId, 'Intеrnеt Ехрlоrеr', Default, True)
_UIA_ElementMouseClick($oElement)

Вам понадобиться библиотека UIAutomate.au3 - смотрите Example (пример) в архиве.
Огромное спасибо!!! Это то, что я искал!!!
 
Верх