AutoIt: Aktivieren und wählen Elemente Kontextmenü in ControlTreeView
-
27-09-2019 - |
Frage
Ich möchte von AutoIt automatische Installation tun. Ich kann Elemente Menü auf der „Funktionen auswählen“ Schritt aktivieren und wählen. Ich kann jedes Element in dem „Baum“ wählen. Denn es verwende ich die Funktion
ControlTreeView($windowId, "", $h_tree, "Select", "#2")
Wie aktivieren und die Elemente Menü in ControlTreeView wählen?
Lösung 2
Sie können Antwort auf die Frage, auf der Website finden Sie unter http://forum.oszone.net /thread-146460.html
#include <GuiMenu.au3>
#include <GuiTreeView.au3>
#Include <SendMessage.au3>
#Include <WindowsConstants.au3>
$WinTitle= "1С:Предприятие 8.1"
$WinText = "Выберите компоненты программы"
WinWait($WinTitle, $WinText)
; ищем элемент окна и последовательно нужный пункт списка
$hDTCtrl = ControlGetHandle($WinTitle, "", "SysTreeView321")
$hDTItem = _GUICtrlTreeView_FindItem($hDTCtrl, "Дополнительные интерфейсы")
$hDTIt_1 = _GUICtrlTreeView_FindItem($hDTCtrl, "Казахский", False, $hDTItem)
; активируем окно
WinActivate($WinTitle, $WinText)
WinWaitActive($WinTitle, $WinText)
; переходим к нужному пункту списка
_GUICtrlTreeView_SelectItem($hDTCtrl, $hDTIt_1, $TVGN_FIRSTVISIBLE)
_GUICtrlTreeView_ClickItem ($hDTCtrl, $hDTIt_1, "left", True)
; вызываем контекстное меню
$aRect = _GUICtrlTreeView_DisplayRect($hDTCtrl, $hDTIt_1, True)
ControlClick($WinTitle, $WinText, $hDTCtrl, "left", 1, $aRect[0]-10, $aRect[1]+5)
WinWait("[CLASS:#32768]")
; выбираем нужный пункт контекстного меню
$hWnd = WinGetHandle("[CLASS:#32768]")
$hMenu = _SendMessage($hWnd, $MN_GETHMENU, 0, 0)
$aRect = _GUICtrlMenu_GetItemRect($hWnd, $hMenu, 0)
MouseClick("left", $aRect[0]+20, $aRect[1]+15, 1, 1)
Andere Tipps
Sie können es mit der Tastatur tun.
Ich habe in der Vergangenheit getan hat dies mit mit
send("{down}{space}{down}{down}{enter}")
Kombination. Ich weiß, dass dies nicht der beste Weg, es zu tun, aber es wird funktionieren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow