跳转到主内容
思享编程网:思考分享,玩转编程世界!

Winform的webBrowser控件打不开指定页面怎么办?

亲们,有没有遇到过这种情况:用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)和我交流。我是陆砚码,我们下期再见!

相关文章