Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autohotkey 当F2重新映射到“打开”和“应用程序”时,将Excel F2映射到其他按钮不起作用_Autohotkey - Fatal编程技术网

Autohotkey 当F2重新映射到“打开”和“应用程序”时,将Excel F2映射到其他按钮不起作用

Autohotkey 当F2重新映射到“打开”和“应用程序”时,将Excel F2映射到其他按钮不起作用,autohotkey,Autohotkey,我将{F2}映射为打开/启动“OneNote” 当Excel是活动应用程序时,我想使用XButton2获取F2函数。 但是,按XButton2始终会激活OneNote 我想尽一切办法让这一切顺利 F2:: IF WinExist("ahk_exe ONENOTE.EXE") { WinActivate } RETURN #IfWinActive ahk_class XLMAIN $XButton2:: send {F2} return #IfWinAc

我将{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热键上有它?也许你在正确的轨道上,但它在错误的热键上?无论哪种方式,它都不会为您做任何事情,因此您可以删除它。
(可选选项可以在上面的某个地方指定,因此键盘挂钩将针对其后的每个热键实施)

现在,对您的脚本进行一些杂项修复。在AHK simple中,它们实际上是这样做的:
XButton2::F2

甜美干净的小一号衬里。(一行热键下也不需要
return

这是您的成品:

$F2::
    IF WinExist("ahk_exe ONENOTE.EXE") {
        WinActivate
    }
RETURN

#IfWinActive ahk_class XLMAIN 
XButton2::F2
#IfWinActive

我个人也会省略括号,因为单行if语句不需要括号。但这当然只是偏好。而且也不知道为什么要大写
return

你好,0x464e。非常感谢,穆奇。正是我需要的。我在$modifier的部分上红色了几次。但我不明白。解决方案有效。