Как позволить сценарию авто-горячих клавиш пережить блокировку рабочего стола?

У меня есть авто-хоткей скрипт

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn  ; Recommended for catching common errors.
SendMode Event  ; Input worked hardly, "Event" is better.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 1 ; 1: A window's title must start with the specified WinTitle to be a match.

#IfWinActive Zooming Viewer
~RButton & WheelDown::
    Send {Ctrl Down} {WheelUp} {Ctrl Up}
    return
~RButton & WheelUp::
    Send {Ctrl Down} {WheelDown} {Ctrl Up}
    return

Ref.:как сделать авто хоткей преобразования "RButton, действий мыши, RButton до" в "MButton вниз, мышкой двигать вверх и вниз, вверх MButton""

Как сделать так, чтобы этот скрипт сохранил блокировку рабочего стола на Win-7?
После освобождения заблокированного компьютера зритель ведет себя как без AHK-скрипта. Нажав на меню script в области уведомлений, выбрав "перезагрузить этот скрипт", он снова работает – но вынужден это сделать кажется немного раздражающим.

9
задан Peter
12.11.2022 18:45 Количество просмотров материала 3170
Распечатать страницу

1 ответ

Try

#Warn  ; Recommended for catching common errors.
SendMode Event  ; Input worked hardly, "Event" is better.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 1 ; 1: A window's title must start with the specified WinTitle to be a match.

MsgBox, Reloading

OnMessage(0x2b1,"WM_WTSSESSION_CHANGE")
Gui,+LastFound
hwnd:=WinExist()
DllCall("Wtsapi32.dll\WTSRegisterSessionNotification","UInt",hwnd,"UInt",0)
    Return


#IfWinActive Zooming Viewer

    ~RButton & WheelDown::
        Send {Ctrl Down} {WheelUp} {Ctrl Up}
        return
    ~RButton & WheelUp::
        Send {Ctrl Down} {WheelDown} {Ctrl Up}
        return

#IfWinActive

WM_WTSSESSION_CHANGE(wParam,lParam){
    static _0x1:="WTS_CONSOLE_CONNECT" ;A session was connected to the console terminal.
    ; ,_0x2:="WTS_CONSOLE_DISCONNECT" ;A session was disconnected from the console terminal.
    ; ,_0x3:="WTS_REMOTE_CONNECT" ;A session was connected to the remote terminal.
    ; ,_0x4:="WTS_REMOTE_DISCONNECT" ;A session was disconnected from the remote terminal.
    ,_0x5:="WTS_SESSION_LOGON" ;A user has logged on to the session.
    ; ,_0x6:="WTS_SESSION_LOGOFF" ;A user has logged off the session.
    ; ,_0x7:="WTS_SESSION_LOCK" ;A session has been locked.
    ,_0x8:="WTS_SESSION_UNLOCK" ;A session has been unlocked.
    ; ,_0x9:="WTS_SESSION_REMOTE_CONTROL" ;A session has changed its remote controlled status. To determine the status, call GetSystemMetrics and check the SM_REMOTECONTROL metric.
    Reload
}

https://autohotkey.com/board/topic/42717-how-to-execute-a-script-when-a-computer-is-locked/page-2#entry266488

0
отвечен user3419297 2022-11-14 02:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

autohotkey
desktop
mouse
mouse-wheel
windows-7
Вверх