亲们,有没有遇到过这种情况:用Winform的webBrowser控件打开某个网页,结果页面显示不出来呢?别急,今天就来给大家分享一下解决这个问题的方法。
最近我在写一个辅助工具,用的是Winform的webBrowser控件,结果想打开直通车地址http://subway.simba.taobao.com时,页面就显示不出来了。用易语言超文本浏览器试了一下,也是同样的问题。经过一番搜索,发现原来是IE版本的原因。下面就来给大家详细介绍一下解决方法。
解决步骤
1. 修改注册表,使WebBrowser使用指定版本的IE控件。
- 32位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
- 64位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
2. 在注册表中新建DWORD值,名称为你的程序名(比如123.exe),值数据根据需要选择以下几种:
- 1f40(十进制8000):IE8
- 2af9(十进制11001):IE11,以IE11的edge模式打开
- 2af8(十进制11000):IE11,包含标准!DOCTYPE指令的页面将以IE11兼容模式打开
- 2711(十进制10001):IE10,以IE11的edge模式打开
- 2710(十进制10000):IE10,包含标准!DOCTYPE指令的页面将以IE10兼容模式打开
3. 注意:如果是VS中编译调试,需要在Release模式下才有效。
4. VS调试时,注意文件名,比如taobaozhitongche.vshost.exe。
5. 如果是64位系统,在添加注册表项目时,需要添加32位,因为它默认用32位方式运行。
通过以上步骤,相信大家应该能够解决Winform的webBrowser控件打不开指定页面的问题了。
最后,提醒一下,我的电脑是64位的,但是在添加注册表项目时,需要添加32位,这是因为它默认用32位方式运行。
如果大家对这个问题还有其他疑问,或者有其他技术问题需要解决,欢迎来「思享编程网」(www.sxgpb.com)和我交流。我是陆砚码,我们下期再见!
