1

Тема: AHK: Как сделать окно оверлея выше курсора мыши

Здравствуйте! Я мало понимаю в AHK, но написал такой скрипт, но мне нужно, чтоб курсор не заходил на это окно, а был под ним

^b::
    State2 := !State2
    If State2
    {
        CustomColor2 = EEAA99
        Gui 3: +LastFound +AlwaysOnTop -Caption +ToolWindow
        Gui 3: Color, black
        Gui 3: Font, s9 w3000 cFFFFFF
        
        WinSet, TransColor, %CustomColor2%, 200
        Gui 3: Add, Text, x10 y10, ТЕСТ ТЕСТ ТЕСТ
        Gui 3: Show, x0 y430 NoActivate, window.
    }
    Else
    {
        Gui 3: Destroy
    }
Return

Буду благодарен любой помощи.

2

Re: AHK: Как сделать окно оверлея выше курсора мыши

Курсор всегда выше всех окон.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Как сделать окно оверлея выше курсора мыши

А может можно как-то сделать так, чтоб оно было как-то неактивным/прозрачным, чтоб можно было под этим оверлем кликать/нажимать ?

4

Re: AHK: Как сделать окно оверлея выше курсора мыши

Добавить свойство к Gui, например через эту строку:

WinSet, ExStyle, 0x80020
Win10x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

5 (изменено: Вася_01, 2024-06-05 22:25:24)

Re: AHK: Как сделать окно оверлея выше курсора мыши

DARK037 пишет:

чтоб курсор не заходил на это окно

Думаю, через поток окна надо как-то.

6

Re: AHK: Как сделать окно оверлея выше курсора мыши

Вася_01, поясните, что имели в виду. Как это обычно делается через поток окна? Приведите пример.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7 (изменено: Вася_01, 2024-06-06 03:13:04)

Re: AHK: Как сделать окно оверлея выше курсора мыши

Можно просто:

Gui 1:+LastFound +AlwaysOnTop -Caption +ToolWindow
hwnd1 := WinExist()
Gui 1:Show, w300 h100
WinSet, Transparent, 200, ahk_id %hwnd1%
WinSet, ExStyle, +0x20, ahk_id %hwnd1%  ; "click through" style
return

Esc::ExitApp

8

Re: AHK: Как сделать окно оверлея выше курсора мыши

Gui, New, +LastFound +AlwaysOnTop -Caption +Owner +hwndhGui +E0x20
WinSet, Transparent, 200
Gui, Show, NA w300 h100

Так не проще? В чём профит использовать синтаксис 2008 года? Где в вашем коде какие-то потоки? Я ничего не понял.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9

Re: AHK: Как сделать окно оверлея выше курсора мыши

Не про потоки, а про хедл имел в виду команды WinExist.