找回密码
 加入
搜索
查看: 12260|回复: 11

[IE类操作] 一个简单的网页弹窗,如何实现后台模拟按键点击?

  [复制链接]
发表于 2012-5-14 19:16:13 | 显示全部楼层 |阅读模式
本帖最后由 tan133 于 2012-5-15 01:12 编辑



如图所示的IE网页弹窗,如何点击?

失败
$n=ControlSend("文件下载 - 安全警告", "", "button2", "{SPACE}")
msgbox (000,0,$n)
失败
$n=ControlClick("文件下载 - 安全警告", "", "button2")
msgbox (000,0,$n)
失败
#Include <WinAPI.au3>

$hwnd=0x00050722

$WM_LBUTTONDOWN=0x201 
$WM_LBUTTOUP=0x202

_WinAPI_PostMessage($hwnd,$WM_LBUTTONDOWN,0,0)
_WinAPI_PostMessage($hwnd,$WM_LBUTTOUP   ,0,0)
失败
#Include <WinAPI.au3>
$hwnd=0x00050722
$BM_CLICK=0xF5
_WinAPI_PostMessage($hwnd,$BM_CLICK,0,0)
失败
#Include <WinAPI.au3>
$hwnd=0x00050722

Const $WM_KEYDOWN = 0x100
Const $WM_KEYUP = 0x101
Const $WM_CHAR = 0x106

_WinAPI_PostMessage($hwnd,$WM_KEYDOWN, "{Space}", 0)
_WinAPI_PostMessage($hwnd,$WM_CHAR, "{Space}", 0)
_WinAPI_PostMessage($hwnd,$WM_KEYUP, "{Space}", 0)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-5-14 19:42:03 | 显示全部楼层
激活窗口,send  alt+r=运行 alt+s=保存 alt+f4关闭
发表于 2012-5-14 20:05:32 | 显示全部楼层
最好有个用AutoIt v3 窗口信息工具探测相关按钮后的截图
发表于 2012-5-14 21:12:11 | 显示全部楼层
2楼方法 可以
发表于 2012-5-14 21:33:58 | 显示全部楼层
回复 1# tan133
试过ControlSend("文件下载","","button3","{SPACE}"失败,这个窗口标题文字不全吧?
 楼主| 发表于 2012-5-15 00:15:25 | 显示全部楼层
本帖最后由 tan133 于 2012-5-15 01:57 编辑

回复 3# zldfsz

已经更新我全部测试代码
 楼主| 发表于 2012-5-15 00:36:42 | 显示全部楼层
本帖最后由 tan133 于 2012-5-15 01:22 编辑

回复 4# ooxxgod
回复 2# 黑色袜子

谢谢,我是想可以后台操作不是更好?你就当我是在这里作技术探讨吧
 楼主| 发表于 2012-5-15 00:43:39 | 显示全部楼层
本帖最后由 tan133 于 2012-5-15 00:46 编辑

回复 5# xms77
我没有标题漏文字,只是当时测试的时候,和发的图不是一个窗口,没有那个文件,现在更正后是同一个窗口做的测试
发表于 2012-5-15 01:00:04 | 显示全部楼层
回复 6# tan133
    $hWnd=WinWait('文件下载 - 安全警告')
While $hWnd=0
        $hWnd=WinWait('文件下载 - 安全警告')
        Sleep(1)
WEnd
ControlSend($hWnd, "", "Button3", "{Enter}")
不谢,会用空格为什么就不会用回车呢?
 楼主| 发表于 2012-5-15 01:24:56 | 显示全部楼层
本帖最后由 tan133 于 2012-5-15 01:30 编辑

回复 9# 黑色袜子
没想到你也还在,谢谢你的耐心解答
你的代码我当然测试过,不过,点button3测试可以成功关掉窗口,
我当时也以为是成功的,换代码稍微换一下,以下代码的意思应该是点Button2吧?
结果,它还是直接关闭窗口,而不是弹出保存对话框
ControlSend($hWnd, "", "Button2", "{Enter}")
看了下,当时的控件焦点在button3上,是它还是Button3(取消)退出,还是因为发送了消息,导致错误所以窗口直接消失?
是他的问题还是我的问题?这到底有没有解呢?
发表于 2012-5-15 11:17:07 | 显示全部楼层
回复  黑色袜子
没想到你也还在,谢谢你的耐心解答
你的代码我当然测试过,不过,点button3测试可以成功 ...
tan133 发表于 2012-5-15 01:24
ControlFocus ( $hWnd, "", 'Button2' )
ControlSend($hWnd, "", "Button2", "{Enter}")
试试
 楼主| 发表于 2012-5-15 12:21:46 | 显示全部楼层
本帖最后由 tan133 于 2012-5-15 12:26 编辑

回复 11# 黑色袜子
while true
    ;这次可以理论上,应该可以了吧?但是,还是窗口直接关闭,而不是打开下载窗口
    ControlFocus ("文件下载", "保存(&S)", 'Button2' )
    ControlSend("文件下载", "保存(&S)", "Button2", "{Enter}")
wend    
多说一句,这个测试环境是XPSP3+IE6+AUTO3.3.7.15第一次汉化版
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 02:09 , Processed in 0.085769 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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