Скрытие Console2, если оно активно, активация или запуск нового процесса, если это не так

Это вики сообщества, основанная на вопросе, который был удален непосредственно перед тем, как я смог опубликовать решение. В скрипте AutoHotkey пользователя было несколько ошибок, поэтому я написал ту, которая их исправляет. Проблема, с которой они столкнулись, заключалась в том, что каждый раз запускался новый процесс Console2 вместо активации процесса, который был установлен в фоновом режиме. Мое решение ниже...

1 ответ

Решение

Вы используете Console2 в качестве администратора? В этом случае некоторые команды AutoHotkey, выполняемые в окне Console2 или в окне Console2, могут игнорироваться. Вы можете обойти это, запустив скрипт AHK от имени администратора.

Одна важная вещь для понимания: у вас была горячая клавиша, отображенная более одного раза, поэтому AHK будет выполнять каждый метод по порядку, сверху вниз. Я исправил вашу логику и изменил пару вещей. Это должно работать!:)

Примечание. Этот сценарий можно легко адаптировать для других программ. Просто измените IfWinExist, WinMove, а такжеRunкоманды.

#c::
    DetectHiddenWindows, On

    IfWinExist, ahk_class Console_2_Main
    {
        IfWinActive
        {
            WinMinimize
            WinHide
        }
        else
        {
            WinShow
            WinActivate
            WinMove, 100, 50
        }
    }
    else
    {
        Run, "%UserProfile%\Console2\Console.exe"
    }

    return
Другие вопросы по тегам