自动热键WinExist找不到打开的cmd

时间:2018-01-12 20:02:56

标签: autohotkey

我正在使用自动热键测试以下代码。我想打开一个cmd控制台,如果还没有打开它。每次运行它时都会创建一个新的控制台,忽略之前已经打开过的控制台。

#z::Run https://autohotkey.com  ; Win+Z

^!n::  ; Ctrl+Alt+N
if WinExist("Untitled - cmd"){
    WinActivate
    MsgBox GUI "MyGui" already exists.
    }
else{
    Run cmd
    MsgBox GUI "MyGui" does not exist.
    }
return

我的另一个问题是,当我使用下面的代码时,一切都按预期工作,但是当我改变无标题 - 记事本到无标题 - 记事本与第一个摘录中发生的事情相同时,会创建一个记事本,尽管是以前的一个仍然活跃。关于为什么会发生这种情况的任何建议都会非常有用,谢谢。

#z::Run https://autohotkey.com  ; Win+Z

^!n::  ; Ctrl+Alt+N
if WinExist("Untitled - Notepad"){
    WinActivate
    MsgBox GUI "MyGui" already exists.
    }
else{
    Run Notepad
    MsgBox GUI "MyGui" does not exist.
    }
return

1 个答案:

答案 0 :(得分:1)

将其放在脚本的顶部:

SetTitleMatchMode 2

Documentation

这允许您使用WinExist之类的命令与部分窗口名称匹配。