gpt4 book ai didi

autohotkey - 右键单击工具栏Window321 autohotkey

转载 作者:行者123 更新时间:2023-12-02 22:54:09 26 4
gpt4 key购买 nike

我对 autohotkey 还很陌生,目前对 ControlClick 存在误解。

我的目标是使用 ControlClick 右键单击​​工具栏Window321 上的图标以显示上下文菜单。我不想使用“单击”或“发送”,因为该操作可以在 session 锁定时完成。

我在网上搜索了一段时间并尝试了一些方法。

ControlClick,,ahk_class Shell_TrayWnd,,R,NA x1500 y22

如果我想要工具栏的下拉菜单,这个东西就可以正常工作。事实并非如此。

我尝试过这样的事情:

ControlClick,ToolbarWindow321,ahk_class Shell_TrayWnd,,Right,1,NA x1500 y22

但什么也没显示。我尝试了几个坐标,并使用 AutoIt3 spy 来确定我的图标的位置。

我确信我做错了什么(当然,否则它会工作得很好:))有人知道我必须做什么才能让它发挥作用吗?

最佳答案

我编写了一些代码来单击记事本的“另存为”窗口中的“桌面”按钮。在 Windows XP 版本的记事本上,这是一个 ToolbarWindow32 控件。该代码使用 Acc 库中的函数,您可以将其放入脚本的 Lib 文件夹中。

Acc 库 [AHK_L](更新于 09/27/2012) - 脚本和函数 - AutoHotkey Community https://autohotkey.com/board/topic/77303-acc-library-ahk-l-updated-09272012/

^q::
ControlGet, hCtl, Hwnd, , ToolbarWindow322, A
if !hCtl
Return

oAcc := Acc_Get("Object", "tool_bar", 0, "ahk_id " hCtl)
Loop, % oAcc.accChildCount
if (oAcc.accName(A_Index) = "Desktop")
if (1, oAcc.accDoDefaultAction(A_Index))
break
Return

编辑:在您的特定情况下,accDoDefaultAction可能不对应于右键单击。

作为引用,我的脚本适用于 Windows XP 和 7:

^q:: ;notepad (save as) - click Desktop button
^d:: ;notepad (save as) - click Desktop button
WinGet, hWnd, ID, A
hCtl := ""

if !hCtl ;check for treeview e.g. Win 7
{
ControlGet, hCtl, Hwnd, , SysTreeView321, ahk_id %hWnd%
if hCtl
oAcc := Acc_Get("Object", "outline", 0, "ahk_id " hCtl)
}

if !hCtl ;check for toolbar e.g. Win XP
{
ControlGet, hCtl, Hwnd, , ToolbarWindow322, ahk_id %hWnd%
if hCtl
oAcc := Acc_Get("Object", "tool_bar", 0, "ahk_id " hCtl)
}

Loop, % oAcc.accChildCount
if (oAcc.accName(A_Index) = "Desktop")
if (1, oAcc.accDoDefaultAction(A_Index))
break

Return

关于autohotkey - 右键单击工具栏Window321 autohotkey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27152234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com