1

Тема: AHK: проблема окон при скрытие рамки активного окна

Здравствуйте, Есть проблемка..

Имеется вот такой код:


RAlt & RWin::
IfWinActive, ahk_class Shell_TrayWnd ; Если активное окно "панель задач" - то не запускать макрос
{
Return
}
IfWinActive, ahk_class Button ; Если активное окно "Пуск" - то не запускать макрос
{
Return
}
WinGet, active_id, ID, A ; Получаем ID окна и записываем в переменную
WinSet,Style,-0xC00000,ahk_id %active_id% ; Скрыть рамки окна
WinSet,Redraw,,A ; Перерисовать окно
Return
RWin & Ralt::
IfWinActive, ahk_class Shell_TrayWnd ; Если активное окно "панель задач" - то не запускать макрос
{
Return
}
IfWinActive, ahk_class Button ; Если активное окно "Пуск" - то не запускать макрос
{
Return
}
WinGet, active_id, ID, A ; Записываем в переменную ID активного окна
WinSet,Style,+0xC00000,ahk_id %active_id% ; Вернуть рамку активного окна
WinHide, ahk_id %active_id%
WinShow, ahk_id %active_id%

Return

Собственно в чем проблема?Вроде бы все хорошо работает, но!

Если окно, у которого убрали рамки, Минимизировать, то есть свернуть Через панель задач(путем нажатия на иконку активного окна) и потом снова развернуть - активное окно, что без рамок, начинает перекрывать саму Панель задач, хотя до Минимизирования окна, окно не перекрывало панель задач, а находилось в своей изначальной позиции.

То есть, до сворачивания окна(видим сверху панель задач)

+ открыть спойлер

https://i.imgur.com/TYXriKa.png

После сворачивания окна и разворачивания вновь(уже сверху нет панели задач)

+ открыть спойлер

https://i.imgur.com/jSAzNHn.png


Сам вопрос:

Как можно решить эту проблему, чтобы при сворачивание и разворачивание, окно не меняло своего размера и не съезжала вверх, перекрывая панель задач?

Люблю когда мне понижают репутацию (мне правда все равно)

2

Re: AHK: проблема окон при скрытие рамки активного окна

Вообщем, решил проблему довольно просто.
После проверки окна добавил следующий код:

WinGetPos,X2,Y2,W2,H2, A
WinRestore, A
WinMove,A,,%X2%,%Y2%,%W2%,%H2%

Благодаря этому коду, окно запоминает свою позицию и размер, а не Максимизируется.

Люблю когда мне понижают репутацию (мне правда все равно)