我正在尝试在 Windows 中使用相同的 hokey 打开和关闭程序(例如记事本),比如说 Strg+Alt+X。因此,当程序关闭时,我希望用“X”打开它,而当它打开时,我希望用“X”关闭它。
这很容易用两个热键来完成,一个打开程序,一个关闭程序。但我不知道如何为同一个热键解决这个问题。有人能指出我正确的方向吗?也许这可以通过 Autohotkey 实现?
我正在尝试在 Windows 中使用相同的 hokey 打开和关闭程序(例如记事本),比如说 Strg+Alt+X。因此,当程序关闭时,我希望用“X”打开它,而当它打开时,我希望用“X”关闭它。
这很容易用两个热键来完成,一个打开程序,一个关闭程序。但我不知道如何为同一个热键解决这个问题。有人能指出我正确的方向吗?也许这可以通过 Autohotkey 实现?
我相信这就是您正在寻找的。StartClose
如果您还想为其他应用程序制作热键,我已经创建了该方法以供将来使用。您可以使用 Window Spy 找到窗口标题和类,可以通过右键单击 AutoHotkey 托盘图标找到。
x::StartClose("ahk_class Notepad", "notepad.exe")
StartClose(title, exe)
{
IfWinExist, %title%
WinClose
else
{
Run, %exe%
WinActivate
}
}
Elliot 的回答为我指明了正确的方向(我对AutoHotKey
语法完全陌生)。他的方法使用窗口标题,该标题适用于不最小化到系统托盘的程序。但是如果你有这样的程序,最好根据进程ID关闭它:
^!x::StartClose("XMouseButtonControl.exe")
StartClose(exe)
{
Process, Exist, %exe% ; check to see if program is running
If (ErrorLevel = 0) ; If program is not running -> Run
{
Run, %exe%
}
Else ; If program is running, ErrorLevel = process id for the target program -> Close
{
Process, Close, %ErrorLevel%
}
}