简单问题

长弓落日 2004-07-21 01:52:49
怎样屏蔽网页上的确定窗口?

我做了个程序,使用webbrowser控件,自动登陆网站,自动刷新内容(只是为了好玩,练习编程)。基本问题都解决了,现在剩下一个小小的简单问题:刷新网页的时候(通过网页上的按钮实现的),总要出一个确认的对话框。哪位高手知道怎么去掉这个弹出来的对话框?当然,不要模拟键盘操作,不要影响其他窗口工作,最好是锁定工作站也不影响其运行~

思路1:拦截消息。我没有查到该拦截什么消息,只有ms_active有点用,还经常无法确定哪一个是该关闭的窗口~

思路2、分析网页代码,在webbrowser中屏蔽~这个我可真的不会了~

查了一晚上资料,也没有最终解决,就想偷懒,到这里找个高手指点一下~当然,代码越详细越好。

在这里先谢谢了!
...全文
186 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvjun 2004-07-22
  • 打赏
  • 举报
回复
一个简单的方法吧:
用EnumChildWindows,枚举出你的WEBBrowser控件所在窗体的子窗体,如果你自己没有在这里面创建过窗体体,那么枚举出来的就应该是弹出的窗体。否则的话和你自己创建的窗体比较一下就知道是不是webbrowser弹出的了
lvjun 2004-07-22
  • 打赏
  • 举报
回复
哦这样啊,,那你找一下所有的窗体吧,,然后用GetParent取得窗体的父窗体,应该是WEBbrowser所在的窗体,
我刚才试了一下,找到弹出的窗体的句柄,然后GetParent返回的句柄,就是WEBbrowser控件所在的窗体的句柄。
长弓落日 2004-07-22
  • 打赏
  • 举报
回复
楼上的方法试过了,它只能找到窗口内部的组件,弹出窗口更找不到了~好像还是不行。

我要找到的是新窗体,而不是新生成的组件(控件)。
lvjun 2004-07-21
  • 打赏
  • 举报
回复
如果是在原IE窗体内或者新弹出的是IE窗体的话,就比较好办了,通过查找元素,可以激发它的事件。如果是windows窗体的话,就用查找窗体的方法吧,
lvjun 2004-07-21
  • 打赏
  • 举报
回复
这个确认对话框是什么窗体?是原来IE中打开的,还是新的IE中的,还是windows的窗体?
wychero 2004-07-21
  • 打赏
  • 举报
回复
学习。
长弓落日 2004-07-21
  • 打赏
  • 举报
回复
找到窗体好办啊!可我怎么才能确定找到的就是该关闭的?我总不能把所有新开的窗体全关闭吧?而且windowstext相同的也不能一起封杀啊?

是问题太简单还是分数太少?怎么回复的人这么少啊?
lvjun 2004-07-21
  • 打赏
  • 举报
回复
呵,那也应该好办啊,你查找一下你应用程序下的窗体,应该一下就可以找到,然后给它发一个关闭的消息。
长弓落日 2004-07-21
  • 打赏
  • 举报
回复
就是那种:按网页上的按钮,弹出一个要求确定的窗口~你按确定,窗口消失……

应该算是IE的弹出窗体~
长弓落日 2004-07-21
  • 打赏
  • 举报
回复
是windows对话框,带确定按钮,应该属于popupwindows~
纯冰糖 2004-07-21
  • 打赏
  • 举报
回复
up,不如直接编写com的代码,或许可以实现的,你看看行舟编写一个浏览器的原程序吧

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧