Что нового

Как кликнуть ЛКМ по елементу в контекстном меню

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Доброго времени суток, господа, как можно контролкликнуть ЛКМ по елементу в контекстном меню ?
отловить ID елемента через AU3info конечно же не удается.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Код:
#include <GuiMenu.au3>
#include <SendMessage.au3>

$ItemName = "Разрешение экрана"

$hWnd = WinWait("[class:#32768]")
$PopUp = _SendMessage($hWnd, 0x01E1, 0, 0) ; MN_GETHMENU
$MenuItem = _GUICtrlMenu_FindItem($PopUp, $ItemName, True)
$aPos = _GUICtrlMenu_GetItemRect($hWnd, $PopUp, $MenuItem)
ControlClick($hWnd, "", "", "left", 1, $aPos[0] + ($aPos[2] - $aPos[0]) / 2, $aPos[1] + ($aPos[3] - $aPos[1]) / 2)
 
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
К сожалению не работает, не определяет размер(одни ноли), и соответсенно не кликает куда нужно.
 

Вложения

  • 2017-01-21_200430.jpg
    2017-01-21_200430.jpg
    74.6 КБ · Просмотры: 13
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
UIAutomate говорит что да
 

Вложения

  • 2017-01-21_205555.jpg
    2017-01-21_205555.jpg
    140.9 КБ · Просмотры: 15

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
kvitnitskiy
UIAutomate говорит что да
О, так вы и с UIAutomate работать умеете. И что говорит Inspect по пунктам меню? Видит он их текст?


Добавлено:
Сообщение автоматически объединено:

Код:
#include "UIAutomate.au3"

$oParent = _UIA_GetElementFromHandle(WinWait("[class:#32768]"))
$oItem = _UIA_GetControlTypeElement($oParent, $UIA_MenuItemControlTypeId, "Разрешение экрана")
_UIA_ElementDoDefaultAction($oItem)
 
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Спасибо большое, все работает. У
вы, с UIAutomate работать не могу..
 
Верх