我有一个自动热键脚本
#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
參考文獻:如何让自动热键将“右按钮按下,鼠标滚轮动作,右按钮向上”转换为“左按钮按下,鼠标上下移动,左按钮向上”
如何让此脚本在 Win-7 上不受桌面锁定影响?释放锁定的计算机后,查看器的行为就像没有 AHK 脚本一样。单击通知区域中的脚本菜单,选择“重新加载此脚本”可使其再次工作 - 但强制这样做似乎有点烦人。
答案1
尝试
#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
}