WebBrowser 控件提升IE版本

WebBrowser 控件的内核为IE 而默认为IE7

很多的网站不支持IE7(因为多数都有使用jq或者相关类库,还有就是能直接支持json,当然可以通过使用json2.js使其支持)

扯远了,怎么能使WebBrowser 正常打开网页 一下有两种方式

1.由前端同事配合(即自己家的网站),也就是让网站本身可以兼容IE7(如果你家前端不嫌弃的话)  这个涉及到前端知识 我这里并不多赘述 PS:前端是绝对可以使网站兼容IE7的  如果对方说不可能  那你可以怀疑一下他的水平(最好不要这样 避免关系闹僵  手动狗头)

2.则是通过 修改系统注册表 实现,这个方法也很简单 

在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 中新建一个项值  名称为 你的程序名称.exe 值的类型为 REG_DWORD 实际值可取一下  十进制(16进制)

10000(0×2710) IE10

9999 (0x270F) IE9 忽略html5

9000 (0×2328) IE9

8888 (0x22B8) IE8 忽略html5

8000 (0x1F40) IE8

7000 (0x1B58) IE7

例如将 WebBrowser  改为IE9(代码为VB6.0)

Dim objshell As Object

 Set objshell = CreateObject("wscript.shell")

 Call objshell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InternetExplorer\MAIN\FeatureControl\FEATURE_BROWSER_E

MULATON\" & App.EXEName & ".exe", "9000", "REG_DWORD")

Set objshell = Nothing

这种方式可以理解为 告诉windows 我程序中 打开的ie浏览器使用的版本应该为IE9 

注意:此方式只能生成exe后有效(VB6.0中调试的名称并不等于生成的,其他环境语言未测试 如有大神路过还望不吝赐教)



有人说有64和32的区别  以64位机器为例,因为32位程序在64位机器上访问注册表时会自动被转到32位地址,而不是真正的地址,所以使用这个就可以

你可能感兴趣的:(WebBrowser 控件提升IE版本)