У меня есть следующий сценарий AutoHotKey, чтобы помочь мне переключаться между различными открытыми приложениями, с помощью ярлыка:не WinActivate работает в AutoHotkey сценария
^!c::ToggleWindow("Chrome")
^!p::ToggleWindow("PowerShell")
ToggleWindow(TheWindowTitle)
{
SetTitleMatchMode,2
DetectHiddenWindows, Off
IfWinActive, %TheWindowTitle%
{
WinMinimize, %TheWindowTitle%
}
Else
{
IfWinExist, %TheWindowTitle%
{
WinActivate
;;; Tried using WinMaximize/WinRestore here but same result
}
Else
{
DetectHiddenWindows, On
IfWinExist, %TheWindowTitle%
{
WinShow
WinActivate
}
}
}
}
Проблема заключается в том, что для некоторых приложений, он работает только иногда (например, PowerShell и TortoiseHG Workbench), что действительно разочаровывает. Для других приложений (Chrome, Thunderbird) он работает всегда.
Вот что я нашел до сих пор:
Если вы явно минимизировать «проблемное» приложение, то вы никогда не можете активировать/развернуть окно с помощью ярлыков AHK. Я не уверен, есть ли другие сценарии, которые препятствуют работе ярлыков, но это один из способов репликации проблемы (по крайней мере для меня).
Даже в случаях, когда ярлыки не работают, я вижу, что значок целевого приложения на панели задач подсвечивается. Я предполагаю, что он работает несколько наполовину, активируя окно, но на самом деле не показывающее его.
Я думаю, что проблема не ограничивается AutoHotKey только потому, что я могу воспроизвести это поведение только с помощью Диспетчера задач. Если я перейду на вкладку «Приложения», щелкните правой кнопкой мыши на целевом приложении и выберите «Привести на передний план», то же самое произойдет. НО, если я выбираю «Переключиться на», это сработает!
Так что, я думаю, мой вопрос, что именно делает «Task Manager-> Приложения-> Переключить на» делать и есть эквивалент, который можно использовать в АХК. Моя ОС - Win7.
Вашего код работает отлично подходит для моей PowerShell (Windows 8 64- бит), интересно, в чем проблема. – fxam
Вы запустили свой PowerShell в качестве администратора, но AutoHotkey как обычный пользователь? Когда я это делаю (на 64-разрядной машине Windows 7), я не могу восстановить свернутое окно PowerShell. – fxam
Запуск AutoHotkey в качестве администратора решает проблему восстановления/минимизации окна PowerShell под управлением администратора. – fxam