【发布时间】:2021-10-01 04:03:32
【问题描述】:
我对 ahk 很陌生。
假设我有两个单独的vlc 窗口打开并播放视频。
如果其中一个 vlc 窗口处于活动状态,那么我希望能够按住一个键以使所有按键都转到另一个 vlc 窗口。
ie 如果我按下 Left,那么它会将 Left 发送到活动的 vlc 窗口,但如果我按住 ALT+Left ,然后它发送 Left 到另一个 vlc 窗口。
如果没有 vlc 窗口处于活动状态,那么我不希望 autohotkey 做任何事情。
这样我就可以控制两个 vlc 窗口,而无需单击并选择哪个是活动的。
我查找了GroupAdd,希望我可以使用一个包含两个 vlc 窗口的组,但无法找到一种方法来定位组中的特定 vlc 窗口以向其发送密钥。
编辑:我有一个非常基本的版本,但我觉得它很丑。如果您按住 Shift 到另一个 vlc 窗口,我想要一种方法来发送任何按下的键。另外,如果连续快速使用几次,切换焦点似乎有点不可靠。
GroupAdd, vlcgroup, ahk_exe vlc.exe
return
#IfWinActive ahk_exe vlc.exe
+Left:: ; shift-left
GroupActivate, vlcgroup, r
Send {Left}
GroupActivate, vlcgroup, r
return
【问题讨论】:
-
请添加一些关于您自己尝试做的事情的信息(即使用Google: autohotkey send to specific window 的输出)
-
我用谷歌搜索了一堆东西,但没有找到任何方法来定位组中的特定窗口。
-
请澄清“组中的特定窗口”,edit 您的问题,并将其设置为具有 2 个窗口的 minimal reproducible example,其中第一个窗口对按键做出反应
-
使用
groupadd,例如,我可以创建一组窗口并将它们全部最小化为一个组,但我不知道如何仅针对组中的特定窗口。显然我不需要 ahk 将按键发送到活动窗口。所以最小的可复制示例根本不需要 ahk。问题的重点是我不知道如何让 ahk 将密钥发送到另一个 vlc 窗口。 -
您希望使用哪些键来完成这项工作?有很多具有不同键名的边缘情况,因此必须以特殊方式处理它们。另外,它应该与组合键一起使用吗?就像 shift + ctrl + a 会将 ctrl + a 发送到第二个 vlc 窗口。
标签: autohotkey