InstallMouseHook

安装或卸载鼠标钩子.

InstallMouseHook Install, Force

参数

Install

类型: 布尔值

如果省略, 则默认为 true.

如果为 true, 则需要安装钩子.

如果为 false, 此函数之前设置的任何需求都将被删除, 可能会卸载钩子.

Force

类型: 布尔值

如果省略, 则默认为 false.

如果为 false, 内部变量会被更新, 以表明脚本是否需要钩子, 但是如果钩子是其他目的而需要的, 可能不会有直接的变化.

如果 trueInstall 为 true, 钩子会被卸载和重新安装. 这具有使其优先于其他进程先前安装的钩子的效果. 如果系统由于一个无响应的程序而停止调用该钩子, 重新安装该钩子可能会使其再次工作.

如果 trueInstall 为 false, 那么钩子就会被卸载, 即使是其他目的需要. 如果热键, 热字串InputHook 需要钩子, 它将停止工作, 直到该钩子被重新安装. 钩子可以通过调用这个函数显式地被重新安装, 也可以作为启用或禁用热键或调用其他需要钩子的函数的副作用而自动安装.

备注

鼠标钩子监视鼠标的点击, 以便激活鼠标热键辅助热字串.

AutoHotkey 不会无条件安装键盘和鼠标钩子, 因为它们合起来至少占用 500 KB 的内存(但如果安装了键盘钩子, 安装鼠标钩只需要大约 50 KB 的额外内存; 反之亦然). 因此, 通常只有当脚本包含一个或多个鼠标热键时才会安装鼠标钩子. 它也会为热字串安装, 但这可以通过 #Hotstring NoMouse 禁用.

与之相比, InstallMouseHook 函数可以用来无条件安装鼠标钩子, 它的好处包括:

你可以通过 KeyHistory 函数或菜单项来确定脚本是否在使用钩子. 你可以通过 ListHotkeys 函数或菜单项来确定哪些热键正在使用钩子.

InstallKeybdHook, #UseHook, Hotkey, KeyHistory, GetKeyState, KeyWait

示例

无条件安装鼠标钩子.

InstallMouseHook