AutoHotKey运行/激活SQL Server管理工作室

时间:2014-07-15 07:31:51

标签: autohotkey

大家好,我正在努力使用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脚本之前,这工作正常。任何想法如何修复此脚本?

2 个答案:

答案 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已过时!