navigate破解(navicat破解)
禁止打开IE
超级兔子反弹天使啊,或用360浏览器并设为默认浏览器,但是它到时候还是想弹出来,由于想弹出来又弹不出来,会卡那么一两秒。我也想不出办法了,帮你查了半天,找到相关的了,你看看吧:禁止IE弹出网页和屏蔽网页原理 禁止IE的弹出网页实现原理为了把事情的来龙去脉弄清楚,先从Internet Explorer的体系结构讲起。Internet Explorer包含一个名为WebBrowser控件的组件,使用它可以轻易的将Web浏览器集成到新的或者已经存在的应用程序中。通过这个控件,程序可以控制整个浏览器的的工作。WebBrowser包含许多组件,其中很多是COM对象,也就是说可以在应用程序中重复的使用它们。如果想要掌握WebBrowser控件或自动化Internet Explorer,只要了解几个组件就够了。如图所示说明了Internet Explorer4.0的体系结构。 第一个组件是WebBrowser宿主,或称为容器,它是指任何一个可以重复使用的WebBrowser控件的应用程序。WebBrowser控件既是ActiveX控件也是ActiveDocument宿主。由于它是Active控件,所以WebBrowser可以被任何一个ActiveX控件容器所掌握。作为ActiveDocument服务器。如果想加载.xls文件,WebBrowser控件将自动的加载Excel。由Internet Explorer安装,用于读取和显示Web网页,用户再也不必亲手创建便可以加载多个不同文件类型的应用程序了,只要在程序中掌握WebBrowser控件就可以。 第二个组件为SHDOCVW(读作sh-doc-view),是用shdocvw.dll实现的。它掌握WebBrowser控件,并为宿主程序提供浏览功能。不过虽然SHDOCVW提供了Internet浏览功能,但是它没有Internet Explorer窗口提供的所有功能。即使这样,SHDOCVW还是简化了创建基于Web的应用程序的过程。 第三个组件是MSHTML.如前所述,MSHTML组件可以读取和显示HTML网页。MSHTML是一个ActiveX服务器,因此可以加载其作为ActiveDocument宿主的应用程序。MSHTML也是一个ActiveX宿主控件。要记住可以将ActiveX控件放在网页上,MSHTML是掌管ActiveX控件的的控件,而且MSHTML还可以掌管其他组件,如Active脚本编程引擎,java应用程序以及插件等。 WebBrowser由4个接口组成,其中3个提供了其所有的功能(第4个接口DwebBrowserEvents2是为事件准备的)。在IE4.0之前,只有两个接口,一个用于WebBrowser控件(IWebBrowser),另一个用于Internet Explorer对象(IWebBrowserApp)。IWebBrowser和IwebBrowserApp具有许多相同的功能。因此在为IE4.0扩展WebBrowser功能时,开发者决定创建第3个接口IWebBrowser2,它是从两个接口中派生出来的。 每次启动IE的时候,操作系统都会调用WebBrowser.dll。只要通过重新定义这个WebBrowser的操作属性和控制属性,就可以实现对IE的完全控制。禁止IE的弹出窗口就是这样实现的。 当用户在下载一个网页的时候,IE浏览器的WebBrowser会获得一些注册事件,这些事件被定义成DISPID常量,常用的几个事件的标号如下所示: DISPID_BEFORENAVIGATE2 DISPID_NAVIGATECOMPLETE2 DISPID_DOCUMENTCOMPLETE DISPID_DOWNLOADBEGIN DISPID_DOWNLOADCOMPLETE DISPID_NEWWINDOW2 DISPID_QUIT DISPID_BEFORENAVIGATE2 从字面上不难理解,DISPID_NEWWINDOW2事件就是需要处理的事件,在这个事件里应该阻止弹出窗口出现。 生成新的dll之后,需要将它注册。下面来看看具体实现。禁止浏览浏览某些网页网络上的资讯有好有坏,应该采取措施,限制对某些网页的浏览。实现原理和禁止弹出窗口原理一样,禁止浏览某些网页的做法依旧是修改Internet Explore的WebBrowser的COM DLL库。通过重定义该DLL,就可以实现对IE的浏览设限功能。和禁止弹出窗口有所区别的是,这次处理的事件是DISPID_BEFORENAVIGATE2事件就是在浏览器浏览网页之前作预处理,从而实现对浏览站点的限制。转自: