Всегда на высоте в AutoHotkey: держите Windows на передовой

В мире настольных компьютеров часто одновременно открывается несколько окон. Но хотелось ли вам когда-нибудь, чтобы одно конкретное окно оставалось поверх всех остальных, несмотря ни на что? Что ж, вам повезло! В этой статье мы рассмотрим различные методы AutoHotkey (AHK) для достижения желанной функциональности «всегда на высоте». Итак, хватайте шляпу программиста и приступим!

Метод 1: WinSet
Один из самых простых способов сделать окно всегда сверху — использовать команду WinSet. С помощью нескольких строк кода вы можете вывести желаемое окно на передний план и гарантировать, что оно останется там. Вот пример:

SetTitleMatchMode, 2
WinSet, AlwaysOnTop, on, Notepad

В этом фрагменте кода мы используем SetTitleMatchMode, чтобы установить режим соответствия для заголовка окна. Затем мы используем WinSet, чтобы включить функцию «всегда сверху» для определенного окна (в данном случае «Блокнота»).

Метод 2: AHK Windows API
AutoHotkey обеспечивает доступ к Windows API, что открывает мир возможностей для расширенного управления окнами. Используя функцию DllCall, мы можем использовать возможности Windows API для достижения нашей цели. Вот пример:

hWnd := WinExist("Untitled - Notepad")
DllCall("SetWindowPos", "UInt", hWnd, "Int", -1, "Int", 0, "Int", 0, "Int", 0, "Int", 0x0001 | 0x0002 | 0x0020)

В этом фрагменте кода мы используем WinExistдля получения дескриптора окна (hWnd) целевого окна. Затем мы вызываем функцию SetWindowPosиз Windows API, используя DllCall, чтобы установить положение окна с нужными флагами (0x0001 | 0x0002 | 0x0020) для поведения «всегда сверху»..

Метод 3: библиотека AHK AlwaysOnTop.ahk
Если вы предпочитаете более упрощенный подход, вы можете использовать уже существующую библиотеку, например «AlwaysOnTop.ahk», разработанную членами сообщества AutoHotkey. Эта библиотека упрощает процесс размещения окон сверху. Вот пример:

#Include AlwaysOnTop.ahk
AlwaysOnTop("Untitled - Notepad")

В этом фрагменте кода мы подключаем библиотеку AlwaysOnTop.ahk, используя #Include, а затем вызываем функцию AlwaysOnTop, чтобы создать указанное окно («Без названия – Блокнот» ) всегда на высоте.

Используя возможности AutoHotkey, вы можете легко вывести желаемое окно на передний план и удерживать его там с помощью функции «всегда сверху». Независимо от того, выберете ли вы простоту WinSet, гибкость Windows API или удобство такой библиотеки, как AlwaysOnTop.ahk, в вашем распоряжении будет целый ряд вариантов. Итак, вперед и возьмите под свой контроль управление окнами, как босс!