【发布时间】:2017-09-16 07:15:01
【问题描述】:
尽管我已经阅读了文档并观看了教程,但我还是一个完整的初学者,所以如果这是一个愚蠢的问题,我深表歉意。我已经尝试了很长一段时间没有结果。
我希望有 NUMPAD0 键来按下 Ableton Live 中的全局录制按钮,但我不想通过鼠标坐标来完成(1.因为当我需要录制时窗口可能会被最小化和 2.因为我想将来实现这一点,以便在我创建单个轨道时也能够在单个轨道上按下录制按钮,例如,可能从 1 到 80 个新轨道)
问题是windows类是动态变化的,winspy中没有显示Control ID。
这就是我一直在做的:
GroupAdd, Live, ahk_class
Afx:0000000140000000:0:0000000000000000:0000000000900015:00000000007A04C3
GroupAdd, Live, ahk_class
Afx:0000000140000000:0:0000000000000000:0000000000900015:0000000000200651
GroupAdd, Live, ahk_class
Afx:0000000140000000:0:0000000000000000:0000000000900015:0000000000290651
GroupAdd, Live, ahk_class
Afx:0000000140000000:0:0000000000000000:0000000000900015:00000000001E05F1
curMode := 1
return
Numpad0::
SetControlDelay -1
controlclick, ahk_group Live0,,,,,NA
return
所以,我的问题是: 1. 在 GroupAdd 命令中,我已经放置了我见过的窗口类,但我相信每次打开新的 Ableton 窗口时可能会出现更多的类。 2.在Control Click命令中,由于找不到控件ID,所以我没有放。
关于如何在不使用坐标的情况下完成此代码或将其更改为其他代码以便按下 Ableton 中的录制按钮的任何建议?
编辑: 这是我现在尝试的代码,遵循建议但我还没有得到任何结果:
SetTitleMatchMode, Regex
SetTitleMatchMode, Slow
#IfWinActive, .*als
Numpad0::F9
#IfWinActive
return
这是它的第二个版本,它也不起作用
SetTitleMatchMode, Regex
SetTitleMatchMode, Slow
#IfWinActive, Afx:0000000140000000
Numpad0::F9
#IfWinActive
return
【问题讨论】:
-
除此按钮外,该程序是否没有键盘快捷键(查看手册)或用于全局录制的菜单项?您可以在 ControlClick 命令中使用
SetTitleMatchMode, RegEx和仅窗口类的一部分来代替组。 -
是的,它确实退出了,但我想在小键盘中,因为我想设置的不仅是全局轨道,还包括从小键盘录制的单个轨道(没有默认热键在阿布顿)。这就是我现在正在做的至少让全球录音继续进行的事情,但仍然没有结果。 (我将 Ableton 中默认的录制热键 F9 键换成了 numpad0)。我已经编辑了我的问题以发布我现在正在做的代码!
-
#IfWinActive, ahk_class Afx:0000000140000000在这种情况下是正确的语法。也可以试试 Send 或 ControlSend 命令。 -
奇怪的是,控件 ID 或类 NN 也在动态变化,所以我不知道如何使用带有不断变化的控件 ID 的 controlsend。此外,Ahk_class 和 Class NN(我读到的应该放在 control send 中的 control 参数下)具有几乎相同的数字,因此从 Class NN 中识别 wintitle 也有点困难。我将尝试其他一些事情,如果没有任何效果,我将寻求一种方法来按照我想要的方式更改程序内部的快捷键,希望它可能。
标签: autohotkey