函数说明

BlockInput

屏蔽/启用鼠标与键盘(输入)。

BlockInput ( 标志 )

 

参数

标志 1 = 屏蔽用户输入
0 = 启用用户输入

 

返回值

 

注意

若启用了 BlockInput 则所有的 Alt 键将无法发送!
下面这个表格列出了在不同的 Windows 版本下的不同表现;不过要注意的是,无论在何种平台下按下 Ctrl+Alt+Del 都将重新恢复输入,这是由 Windows API 的特性决定的。

操作系统 "BlockInput" 应用结果
Windows 95 无效果。
Windows 98/Me 用户输入将被屏蔽,连 AutoIt 也不能模拟输入。
Windows NT 4 (未安装 ServicePack 6) 无效果。
Windows NT 4 (已安装 ServicePack 6) 用户输入将被屏蔽,但 AutoIt 能模拟大部分的输入行为。
Windows 2000 用户输入将被屏蔽,但 AutoIt 能模拟大部分的输入行为。
Windows XP 用户输入将被屏蔽,但 AutoIt 能模拟大部分的输入行为。但有例外情况,请看下面的说明。

若您正使用的操作系统是 Windows XP,那么要提醒您的是在 SP1 已发布而 SP2 未发布之前微软发布了一个升级补丁限制了 Blockinput 而导致 ALT 键无法发送。这一问题已在 XP SP2 下修复。

注意,某些函数如 WinMove() 等即使在启用了 BlockInput 的情况下仍能正常工作(Windows 98/Me 下)。

 

相关

Send

 

示例


If @OSVersion <> "WIN_98" And @OSVersion <> "WIN_ME" Then
    BlockInput(1)
EndIf

Run("notepad")
WinWaitActive("无标题 - 记事本")
Send("{F5}")  ;插入时间及日期

BlockInput(0)