关于 VB6 定制浏览器 禁止图片 ActiveX Script等 功能的疑问
[这个问题可能需要您了解COM,OLE及Webbrowser控件的一些知识]
首先,请从这里下载代码:
http://lib.ldong.net/webbrowser.rar
这段代码是从L_E浏览器源码中提取出来的,作用是禁止浏览器下载图片,ActiveX,Script等东东.我做了一些小修改,感谢原作者.
下载代码解压,并打开工程文件,要注意添加olelib.tlb和olelib2.tlb两个文件,否则不能运行.
按下F5运行.点窗体上的按钮能分别去掉对应Webbrowser里的图片.
可以尝试按F8单步调试,当按下去除图片的按钮时,会运行到cWebbrowser里的Let DownloadCtrlEX属性,
当运行到oOC.OnAmbientPropertyChange -5512时,会很诡异地跳到Get DownloadCtrlEX中去.
这一步我怎么也想不明白.为何会跳走?当我把代码中的DownloadCtrlEX属性换一个名称(如DownloadCtrl)时,还是一样会跳转.不管改成什么名字,都会自动跳到get DownloadCtrlEX那里去.说明这步操作与属性名称无关.
于是我把cWebbrowser移到我公司的项目中使用,却没有发生上述的跳转,无法实现图片和ActiveX等对象的屏蔽.
我急切想知道这引起一行为的原因,原理.为何会跳转?为何会跳到Get DownloadCtrlEX中去?
[解决办法]
因为DownloadCtrlEX的过程标识符就是-5512