使用相同的热键打开和关闭程序(Autohotkey?)

时间:2012-11-15 16:09:14

标签: autohotkey hotkeys

我试图用Windows中的相同操作来打开和关闭程序(例如记事本),假设是Strg + Alt + X.因此,当程序关闭时,我希望用“X”打开它,当它打开时我希望用“X”关闭它。

使用两个热键非常容易,一个打开,一个打开程序。但我不知道如何解决这个问题。有人能指出我正确的方向吗?也许这可以用Autohotkey吗?

2 个答案:

答案 0 :(得分:5)

我相信这就是你要找的东西。如果您想为其他应用程序创建热键,我已经创建了StartClose方法以供将来使用。您可以使用Window Spy找到窗口标题和类,右键单击AutoHotkey托盘图标即可找到它。

x::StartClose("ahk_class Notepad", "notepad.exe")

StartClose(title, exe)
{
    IfWinExist, %title%
        WinClose
    else
    {
        Run, %exe%
        WinActivate
    }
}

答案 1 :(得分:0)

艾略特的回答向我指出了正确的方向(我对AutoHotKey语法完全不熟悉)。他的方法使用Window Title,它适用于没有最小化到系统托盘的程序。但是如果你有这样的程序,最好根据进程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%
    }
}