Тема: AHK: Отключение меню Пуск, при видимости определенного окна.
Друзья, есть следующая задача:
Хочу блокировать меню Пуск, если есть видимое окно, к примеру Notepad. Но блокировка меню пуск производится следующим методом:
DetectHiddenWindows, ON
SetWinDelay, -1
Winhide, ahk_class Button
WinMove, ahk_class Button, , 0, 0, 0, 0,
ReturnКак видите скрипт начинает искать скрытые окна. Мне нужно чтобы окно с заголовком Notepad искалось только в списке видимых, а для кнопки Пуск - в числе скрытых.
Я контролирую окно программы управления компьютерным клубом, если оно есть, то отключаю звук и очень желательно отключать появление меню Пуск. Дело в том что, если при заблокированном компе нажать на пуск, прога его сворачивает, и после, при открытом счете оно отображается криво и косо - очень не хотелось бы этого.
Для удобства понимания привожу полный скрипт:
#NoTrayIcon
Loop
{
IfWinExist, Notepad
{
VA_SetMasterMute(True, 1)
Winhide, ahk_class Button
WinMove, ahk_class Button, , 0, 0, 0, 0,
}
else
{
VA_SetMasterMute(false, 1)
WinShow, ahk_class Button
WinMove, ahk_class Button, , 10, 10, 50, 50,
}
Sleep 500
}
Если использовать DetectHiddenWindows, ON то тогда и окно notepad обнаруживается когда не нужно. А без его использования не блокируется меню пуск.
И второе:
Можно ли как-нибудь дополнительно блокировать нажатие клавиши Rwin только в момент видимости того-же Notepad? Т.е. если окно есть, переназначем Rwin на пустое действие, если окно исчезло, то Rwin тоже приобретает свой обычный функционал. Очень желательно все это в одном скрипте.
Выручайте! ![]()

