我正在使用AutoHotKey来显示/隐藏一个mintty终端窗口。这是我的AutoHotkey.ahk:
ShowHide_(Title, CommandLine)
{
OutputDebug, ShowHide called
DetectHiddenWindows, On
; MatchMode = 2 : The title contains the expression
SetTitleMatchMode, 2
OutputDebug, Looking for a window named "%Title%"
IfWinExist %Title%
{
OutputDebug, "%Title%" found, is it active?
IfWinNotActive %Title%
{
WinShow
WinWait, %Title%
WinRestore
WinActivate
OutputDebug, Window is not active, activating...
}
Else
{
WinMinimize
WinHide
OutputDebug, Window is active, hiding...
}
}
Else
{
OutputDebug, "%Title%" doesn't exist, starting...
Run, %CommandLine%
}
}
#^::
F1::ShowHide_("ahk_class mintty", "C:cygwinbinmintty.exe -t CygTerm")
正如您所注意到的,我制作了一个通用函数,以便能够对其他应用程序执行同样的操作。此外,我还分配了两个键盘组合F1和Win+1^ 使用其他程序(如Notepad++、calc…),一切都能按预期进行。知道为什么吗?我该如何让它发挥作用?
我发现,如果我使用在开始菜单中自动创建的Cygwin Terminal快捷方式,Mintty不会正确响应AHK脚本。
但是,如果我直接创建一个指向mintty.exe文件的快捷方式(C:\cygwin\bin\manty.exe),它就会工作。
注意:为了使自定义mintty快捷方式正常工作,您需要添加连字符"-"作为启动选项。因此,在shorcut中,Target字段应该如下所示:
C: \Cygwin\bin\mintty.exe-