VB如何让程序自动关闭网页弹出的对话框

wjf598 2014-08-16 11:54:07
网页是这样的:
<html>
<head>

<script language="JavaScript">
    alert("操作成功!")
   </script>
</head>
<body>
<p>欢迎您的到来!谢谢您!</p>
</body>
</html>

  我想让程序自动点击[确定]按钮关闭这个对话框。
  API函数 FindWindow(0&, “JavaScript 提醒”) 能找到弹出的对话框句柄,但从网上找了好多方法--模拟鼠标或发送回车都试过。尝试关闭这个对话框都以失败告终。  
  肯请高手们帮助解决下!希望能给出具体代码!
...全文
717 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
taoguangye 2014-08-19
用我这小工具,效果会让你惊喜! http://download.csdn.net/detail/taoguangye/7780643
回复
wjf598 2014-08-19
谢谢各位的热心帮助。 同样的代码hwnd1有时能获取到句柄,有时也是0,弄不是很明白,但用计时器每隔1秒循环后也能达到目的。 现在又遇到一个问题: 打开一个网页、填写表单、并提交为什么总出错 http://bbs.csdn.net/topics/390864740
回复
of123 2014-08-18
有些网站弹出窗口,是隐藏了按钮句柄的,防止软件控制自动处理。
回复
Carlven2012 2014-08-18
hwnd1 = FindWindow(vbNullString, "JavaScript 提醒") PostMessage hwnd1, WM_KEYDOWN, vbKeyReturn, 0 ‘发送回车键 已经测试通过(win7 x64 + vb6 + 枫树极速浏览器)
回复
wjf598 2014-08-17
引用 3 楼 Topc008 的回复:
找到窗口,搜索“确定”句柄,移动鼠标到“确定”窗口的位置,然后模拟鼠标点击,这应该可以的。
主要问题是找不到子窗口-按钮的句柄,总是返回0, 这是我的代码请帮我看一看:谢谢!

‘.....声明
’执行语句:
 hwnd1=FindWindow(0&,"JavaScript 提醒")   '能得到弹出对话框的的句柄
 hwnd2=FindWindowEx(hwnd1,0&,0&,"确定")   ’就条语句总是返回0

'下面的代码应该没问题吧:  
 SendMessage hwnd2,WM_LBUTTONDOWN,ByVal 0&,ByVal 0&
 SendMessage hwnd2,WM_LBUTTONUP,ByVal 0&,ByVal 0&
回复
一如既往哈 2014-08-17
找到窗口,搜索“确定”句柄,移动鼠标到“确定”窗口的位置,然后模拟鼠标点击,这应该可以的。 要不把你的代码发上来瞧瞧......
回复
wjf598 2014-08-17
引用 1 楼 caozhy 的回复:
sendmessage给对话框,发送wm_close应该可以
是可以关闭,但我想要的是点击[确定]按钮来关闭这个弹出窗口,要不发送回车消息也行,怎么消息就送不过去?!
回复
threenewbee 2014-08-17
sendmessage给对话框,发送wm_close应该可以
回复
taoguangye 2014-08-17
直接JS重写alert函数,让弹窗永远都出不来
回复
一如既往哈 2014-08-17
我测试时hwnd2不为0哦
回复
wjf598 2014-08-17
开始的时候就是这样的,网上介绍的例子是模拟按计算器的1键,是可以找到1键的句柄的, 但对弹出窗口提示时只能得到hwnd1的值,hwnd2总是0。不行,后我才改的代码! 现在主要的问题就是如何获取这个网页弹出窗口的“确定”按钮的句柄了。
回复
一如既往哈 2014-08-17
hwnd2=FindWindowEx(hwnd1,0&,0&,"确定")    改成下面的试一试: hWnd2 = FindWindowEx(hWnd1, 0&, "button", vbNullString)
回复
相关推荐
发帖
API
创建于2007-09-28

1464

社区成员

VB API
申请成为版主
帖子事件
创建了帖子
2014-08-16 11:54
社区公告
暂无公告