yinle 发表于 2010-9-24 11:28:07

[已解决]不知有没有暂时锁定键盘、鼠标输入的方法

本帖最后由 yinle 于 2010-9-24 13:15 编辑

有段登录代码如下:

#include <IE.au3>

$oIE=_IECreate("https://login.taobao.com/member/login.jhtml",0,0,1,0)
$oForm = _IEFormGetObjByName ($oIE, "J_StaticForm")
$oText = _IEFormElementGetObjByName ($oForm, "TPL_username")
_IEFormElementSetValue ($oText, '用户名')
$hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "", "密码{ENTER}")
Sleep(1500)
_IEAction($oIE, "visible")

此代码在没有键盘输入的情况下运行正常,如果键盘有动作的话,输入的密码就不正确,我想把键盘鼠标在ControlSend的时候锁住,不知道有没有可能。

另外代码如果改写成如下:

#include <IE.au3>

$oIE=_IECreate("https://login.taobao.com/member/login.jhtml",0,1,1,0)
$oForm = _IEFormGetObjByName ($oIE, "J_StaticForm")
$oText = _IEFormElementGetObjByName ($oForm, "TPL_username")
_IEFormElementSetValue ($oText, '用户名')
$oText = _IEFormElementGetObjByName ($oForm, "TPL_password")
_IEFormElementSetValue ($oText, '密码')
_IEFormSubmit($oForm)
Sleep(1500)
_IEAction($oIE, "disable")

脚本运行到 _IEFormSubmit($oForm) 后就不运行后面的语句,也不退出,不知是何缘故。我使用的是V 3.3.6.1版本 win7系统 IE8不知是不是系统环境原因,望指教。

kood481748 发表于 2010-9-24 11:53:34

BlockInput (1)屏蔽鼠标与键盘(输入).
BlockInput (0)启用鼠标与键盘(输入).

这个你就问对人了

yinle 发表于 2010-9-24 12:14:15

嗯 谢谢了
不过我改成如下
BlockInput (1)
ControlSend($hIE, "", "", "密码{ENTER}")
BlockInput (0)
因为是win7系统,我怕用户模式有影响,我把脚本编译成exe然后用管理员模式运行,问题依旧
另外我还加了点延时 也不行 是系统问题吗?

kood481748 发表于 2010-9-24 12:17:36

本帖最后由 kood481748 于 2010-9-24 12:19 编辑

操作系统                  "BlockInput" 应用结果
Windows 2000                   用户输入将被屏蔽,但 AutoIt 能模拟鼠标与键盘的输入行为.
Windows XP                     用户输入将被屏蔽,但 AutoIt 能模拟鼠标与键盘的输入行为.请看下面例外的情况.
Windows Vista/7/2008      用户输入将被屏蔽,但 AutoIt 能模拟鼠标与键盘的输入行为.(需使用 #requireAdmin)

要学会看帮助啊,楼主同志

yinle 发表于 2010-9-24 13:14:42

我才知道#requireAdmin是个语句 现在添加了
我在3个系统下测试 只有win2008是有效地 XP 和 WIN7 都还是会出错
算了 我也不弄了 非常感谢

coolybin 发表于 2012-4-17 02:34:49

win7下要加这个.(需使用 #requireAdmin) 不加的话没有效果,
我试过,加了就可以用。

yufei8051 发表于 2012-5-7 14:03:49

win7下要加这个.(需使用 #requireAdmin) 不加的话没有效果,
我试过,加了就可以用。
coolybin 发表于 2012-4-17 02:34 http://www.autoitx.com/images/common/back.gif


    学长能详细点写出来吗?不会用 #requireAdmin啊

damoo 发表于 2014-4-24 22:40:52

BlockInput (1)屏蔽鼠标与键盘(输入).
BlockInput (0)启用鼠标与键盘(输入).

这个你就问对人了
kood481748 发表于 2010-9-24 11:53 http://www.autoitx.com/images/common/back.gif
太强悍了,谢谢分享。
页: [1]
查看完整版本: [已解决]不知有没有暂时锁定键盘、鼠标输入的方法