大家好,我正在努力使用AutoHotKey和简单的键绑定。
我想要实现的是,如果ssms没有运行,请启动它,否则设置焦点/活动此程序。目前我有这样的事情:
+!s::
StringCaseSense, On
process, exist, Ssms.exe
{
If !errorLevel
Run "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
else
IfWinExist Microsoft SQL Server Management Studio
WinActivate
}
在我在ssms中创建/打开任何SQL脚本之前,这工作正常。任何想法如何修复此脚本?
答案 0 :(得分:2)
这是我用于所有快捷方式的简化版本。它使用一个函数(可以重用)。第一个参数是窗口标题中的文本。第二个是exe路径。
SetTitleMatchMode, 2
+!s::ShowStart("Microsoft SQL Server Management Studio", "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe")
ShowStart(title, exe)
{
IfWinExist, %title%
WinActivate
else
{
Run, %exe%,, UseErrorLevel
If ErrorLevel
{
Msgbox, Exe not found.
Return
}
WinActivate
}
}
答案 1 :(得分:0)
该代码应该适合您:
+!s::
StringCaseSense, On
Process, Exist, Ssms.exe
if ErrorLevel
{
IfWinExist, Microsoft SQL Server Management Studio
{
WinActivate
}
}
else
{
Run, C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe
}
return
这也是相同的代码,但是对于我测试过的notepad.exe,它运行正常:
+!s::
StringCaseSense, On
Process, Exist, notepad.exe
if ErrorLevel
{
IfWinExist, Untitled - Notepad
{
WinActivate
}
}
else
{
Run, c:\Windows\notepad.exe
}
return
从http://ahkscript.org/(当前版本)下载新版AutoHotkey。来自autohotkey.com的AutoHotkey已过时!