gpt4 book ai didi

AUTOIT:如何在win菜单中获取当前选择

转载 作者:行者123 更新时间:2023-12-04 21:40:27 28 4
gpt4 key购买 nike

如何获取菜单中当前选中的项目?例如在记事本中。如何识别当前选中的是不是“字体...”

提前致谢!

ShellExecute("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("!O")
Send("{DOWN}")

最佳答案

遍历菜单中的项目以查找突出显示的项目。对于子菜单,父项也将突出显示,因此您可以像这样递归通过菜单:

#include <GUIMenu.au3>

ShellExecute("notepad.exe")
WinWaitActive("Untitled - Notepad")
Send("!O")
Send("{DOWN}")

Sleep(100)

$hMenu = _GUICtrlMenu_GetMenu(WinGetHandle("Untitled - Notepad"))
MsgBox(0, "test", _GetSelected($hMenu))


Func _GetSelected($hMenu)
Local $iItem = 0, $ret, $sub

While 1
Local $tInfo = _GUICtrlMenu_GetItemInfo($hMenu, $iItem, True)
If @error Or Not @extended Then ExitLoop

If BitAND(DllStructGetData($tInfo, "State"), $MFS_HILITE) Then
$sub = DllStructGetData($tInfo, "SubMenu")

If $sub Then
$ret = _GetSelected($sub)

If $ret <> "" Then Return $iItem & "-" & $ret
EndIf

Return $iItem
EndIf

$iItem += 1
WEnd

Return ""
EndFunc ;==>_GetSelected

关于AUTOIT:如何在win菜单中获取当前选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17523345/

28 4 0