AutoIt: Aktivieren und wählen Elemente Kontextmenü in ControlTreeView

StackOverflow https://stackoverflow.com/questions/3849307

  •  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?

alt text

War es hilfreich?

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
scroll top