我如何使热键特定于应用程序,但以某些因素为条件,以便如果条件不成立,则热键将由本机/默认处理程序处理?
我制作了一个热键,当我处于查询设计模式时,我想在 MS Access 中使用它。我正在使用FindText图像搜索检测此模式。如果检测到该模式,我希望我的 autohotkey 脚本运行,而不是将击键传回 Windows 或 Access。如果未检测到该模式,我希望 Windows/Access 能够处理击键。
如果未检测到条件,我不知道如何让脚本忽略该热键。我有一个这样的脚本:
#IfWinActive ahk_class OMain ; Access
^R:: ; CTRL+R
; Use FindText to see if a certain image is on screen
If FindText()...
{
; do my automation of Access
}
else
{
; I'm not in the design mode. Let the CTRL+R key be handled by Access or Windows.
}
return
#IfWinActive
我试图在热键前加上波浪号,但这将允许 Access 做一些我不想在设计模式中发生的事情。
我有什么方法可以处理这个问题?
出于好奇,我为 Access 创建了一个 AutoHotkey 宏,它将扩展查询设计视图中的所有列宽。这让我在尝试复习长公式时保持理智。
对此:
你可以只使用 SendInput 在这里做你想做的事。
我自己的很多钥匙都是这样设置的。捕获一些击键,检查条件并处理它或使用 SendInput 让键“通过”
例如浏览器上的 F11:如果标题是某某,我会做某些事情,比如填写表格,否则,我会使用 SendInput {F11} 来“传递”给浏览器以执行其正常操作全屏的事情。