如何编制这样一个程序:在IE窗口将要通过JAVASCRIPT打开一个子窗体时将这个子窗体关闭?(100分)

  • 主题发起人 主题发起人 base7
  • 开始时间 开始时间
B

base7

Unregistered / Unconfirmed
GUEST, unregistred user!
曾经见过这样的共享软件,但不知是通过什么原理编出来的?
望大虾指点.
 
恩?
什么意思的??
先开一个新的,然后在把当前的关掉不就行了嘛[?]
 
不是呀,
很多网站在打开网页时会弹出不少广告窗体,要关闭的就是这些广告窗体
最好还要用户不会察觉。。。,究竟该如何实现呢?
 
你的意思是客户端浏览的时候,弹出一些窗体
这些窗体再自己将自己关闭??
 
搞没搞错呀?
那些广告窗体是被别的伺服程序发现并关闭的,
我想问的就是那样的伺服程序怎么编。。
 
[8D]哦,明白你得意思了
这问题我也想问呢,嘻[:D]
 
用FindWindow函数查找IE窗口的类名'IEFrame',得到窗口里面的Shell DocObject View对象以后,
查看该WINDOW的opener属性是否为nil,不为nil的是由母窗口新开的,通过mshtml_tlb接口查询。
然后发送WM_CLOSE消息至该窗口过去。

就是不知类名是否正确,刚刚用spy++查的。
 
to Adnil:
能告诉我如何通过mshtml_tlb接口查询吗?这步有什么用?
不是很懂的说,还有,如何能保证实时监测呢?我不可能每次看见IE产生
新的窗体后再去执行一遍程序呀~
 
建议问一下蔬菜工作室的张磊
 
关闭广告窗体,其实要首先建立一个黑名单!
在beforenavigate之前判断一下要打开的newwindows的url,如果在黑名单中,则关闭即可!
 
to YB_Unique:
可是我如何捕捉IE的beforenavigate呢?
毕竟浏览器不是我编的呀
 
要有黑名单才行
如果是外挂就要找窗口,除了FINDWINDOW就是枚举了
如果是IE的插件,容易些,有个IEDELPHI5的控件组可以帮你做到
他有例子
 
IE在弹出新窗口之前,会触发OnNewWindows2事件的
 
可是那有可能是用户自己点出来的呀
 
继续.....>>
 
Macromedia Extension 网站里面有个包可以实现你的要求。
我已经download过了,不过是很久以前下的。不记得名字了,而且盘子里面的
包太多,不好找到。

你自己去那里看看。
 
系统提供了IShellWindows的WindowRegistered&WindowRevoked事件,只要再这中写代码
就可以捕捉New Window的创建了。还有,IE产生新窗口之前,会触发OnNewWindow2事件,
可以在IWebBrowser中捕获就行。
 
Macromedia Extension 上有组件可以下载
 
to 陶子喻:
Macromedia Extension 有相关组件吗?找了很久也没找到阿,
不知是不是没找对地方?
 
后退
顶部