找回密码
 加入
搜索
查看: 5939|回复: 7

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

  [复制链接]
发表于 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, "", "[CLASS:ATL:Edit; INSTANCE:1]", "密码{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  不知是不是系统环境原因,望指教。

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2010-9-24 11:53:34 | 显示全部楼层
BlockInput (1)屏蔽鼠标与键盘(输入).
BlockInput (0)启用鼠标与键盘(输入).

这个你就问对人了
 楼主| 发表于 2010-9-24 12:14:15 | 显示全部楼层
嗯 谢谢了
不过我改成如下
BlockInput (1)
ControlSend($hIE, "", "[CLASS:ATL:Edit; INSTANCE:1]", "密码{ENTER}")
BlockInput (0)
因为是win7系统,我怕用户模式有影响,我把脚本编译成exe然后用管理员模式运行,问题依旧
另外我还加了点延时 也不行 是系统问题吗?
发表于 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)

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

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-9-24 13:14:42 | 显示全部楼层
我才知道#requireAdmin是个语句 现在添加了
我在3个系统下测试 只有win2008是有效地 XP 和 WIN7 都还是会出错
算了 我也不弄了 非常感谢
发表于 2012-4-17 02:34:49 | 显示全部楼层
win7下要加这个.(需使用 #requireAdmin) 不加的话没有效果,
我试过,加了就可以用。
发表于 2012-5-7 14:03:49 | 显示全部楼层
win7下要加这个.(需使用 #requireAdmin) 不加的话没有效果,
我试过,加了就可以用。
coolybin 发表于 2012-4-17 02:34



    学长能详细点写出来吗?不会用 #requireAdmin啊
发表于 2014-4-24 22:40:52 | 显示全部楼层
BlockInput (1)屏蔽鼠标与键盘(输入).
BlockInput (0)启用鼠标与键盘(输入).

这个你就问对人了
kood481748 发表于 2010-9-24 11:53

太强悍了,谢谢分享。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 01:45 , Processed in 0.085205 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表