autohotkey - 当 F2 重新映射到打开和应用程序时,将 Excel F2 映射到其他按钮不起作用
问题描述
我将 {F2} 映射到打开/启动“OneNote” 我想在 Excel 是活动应用程序时使用 XButton2 来执行 F2 的功能。但是,按下 XButton2 始终会激活 OneNote。
我尝试了一切来完成这项工作。
F2::
IF WinExist("ahk_exe ONENOTE.EXE") {
WinActivate
}
RETURN
#IfWinActive ahk_class XLMAIN
$XButton2::
send {F2}
return
#IfWinActive
解决方案
您的问题是您通过发送 F2 来触发 F2 热键。
为避免这种情况,您需要在 F2 热键上使用$
修饰符
$F2::
,如下所示:
看起来您实际上在 XButton2 热键上有它?也许您在正确的轨道上,但使用了错误的热键?无论哪种方式,它都不会为您做任何事情,因此您可以将其删除。
(#UseHook
可以在上面的某个地方指定替代方案,因此键盘钩子会为之后的每个热键实现)
现在对您的脚本进行了一些杂项修复。在 AHK 中,简单的重映射实际上是这样完成的:
XButton2::F2
Sweet clean little one-liner。(单行热键也不需要return
在它们下面)
所以这将是你的成品:
$F2::
IF WinExist("ahk_exe ONENOTE.EXE") {
WinActivate
}
RETURN
#IfWinActive ahk_class XLMAIN
XButton2::F2
#IfWinActive
我个人也会省略括号,因为单行 if 语句不需要括号。但这当然只是偏好。而且也不知道你为什么要大写return
.
推荐阅读
- c# - Datastax C# 驱动程序 .Build() 引发 System.IO.FileLoadException
- c# - ASP.NET - 将数据从数据库加载到实体时转换数据
- azure-devops - 在 Azure Devops Pipeline 期间忽略/抑制警告
- python - 无法使用 networkx 为图形设置权重
- python - 如何提取某些单词的首字母
- shopify - 编辑shopify的管理面板
- typescript - 如果组件用作子组件,则向组件添加额外的接口属性
- laravel - 在查询加载时隐藏模型的属性
- python - Python Wordcloud 只显示变量名
- javascript - 如何将包含逗号的 html 表数据导出到 .csv 文件?