Wyszukaj w AutoHotkey tytuł okna, który zawiera ciąg znaków, ale nie zawiera innego ciągu

1

Mam skrypt, który aktywuje wysublimowane okno tekstowe:

#s::
IfWinExist ,Sublime
    {
    ifWinActive
        {
        WinActivatebottom ,Sublime
    }
    else
    {
        WinActivate
    }
    return
}

Jeśli jest wiele okien wysublimowanego tekstu, pokazuje je jeden po drugim (za każdym razem, gdy naciskam, pokazuje kolejne okno).

Moje pytanie brzmi: istnieje jeden projekt (projekt moshe.project), którego nie chcę pokazywać. Jak dodać do tego ekspozycję

Na przykład: ifWinExists, Sublime !moshe

Aminadav Glickshtein
źródło

Odpowiedzi:

1
 ; autoexecute section:
SetTitleMatchMode, 2
; GroupAdd, GroupName, WinTitle, WinText, Label, ExcludeTitle
GroupAdd, Sublime_group, Sublime,,,moshe
     return   ; end of autoexecute section


#IfWinExist, ahk_group Sublime_group

#s::
IfWinNotActive, ahk_group Sublime_group
    GroupActivate, Sublime_group, R  ; activates the newest window (the one most recently active)
else
    GroupActivate, Sublime_group  ; activates the oldest window
Return

#IfWinExist

EDYCJA: Użyj Window Spy, aby znaleźć dokładny tytuł okna, które chcesz wykluczyć.

EDYCJA 2: Zmodyfikowałem kod, aby przechwytywał wszystkie okna, które mają „wysublimowane” w tytule i nie mają „mosze” w tytule.

użytkownik3419297
źródło