Auto-Hotkey Scriptをデスクトップのロックに耐えるにはどうすればよいですか?


1

自動ホットキースクリプトを取得しました

#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

参照:Auto Hotkeyで「RButton down、Mousewheelアクション、RButton up」を「MButton down、マウスの上下移動、MButton up」に変換する方法

Win-7でこのスクリプトをデスクトップロックに耐えさせるにはどうすればよいですか?ロックされたコンピューターを解放した後、ビューアーはAHKスクリプトなしで動作します。通知領域のスクリプトメニューをクリックして[このスクリプトを再読み込み]を選択すると、再び動作しますが、強制的に実行すると少し面倒に感じます。

回答:


0

試して

#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


ソースによると、「ワークステーションがロックされたときに検出する」ためです。私はそれを検出したくありません、私はただスクリプトがロック(またはむしろロック解除?)に耐えるようにしたいです。スクリプトがもう実行されない場合、ロックの検出はどのように役立ちますか?
ピーター

私のシステムでは動作します。ワークステーションのlockIng(Win + L)およびunlockIng(サインイン)後に「リロード中」というメッセージが表示されます。
user3419297

または、他のスクリプトを監視し、必要に応じてリロードする別のスクリプトを開始するつもりでしたか?
ピーター

いいえ、スクリプトの実行中にWin + Lを押すと、サインイン後に同じスクリプトから「Reloading」というメッセージが表示されます。
user3419297

それが機能する場合、別の根本的な問題があり、再起動することで解決されると思います。このスクリプトがロック解除を検出できる場合、実際のタスクであるスクロールホイールの変換も実行する必要があります。それとも私は間違っていますか?
ピーター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.