VC 用微软插件或CHtmlView 开发浏览器时如何指定使用的IE内核版本

用VC开发自己的浏览器时,我们一般用浏览器插件或CHtmlView,但是开发完后,你会发现其内核用的是IE6的,那么要如何指定要使用的内核版本呢?

可以在注册表添加应用程序使用的内核版本

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

"MyApplication.exe" = dword 9000
MyApplication.exe改成你自己的程序名称。


参考代码如下:

void AdapterIEVersion(LPCTSTR lpExeName)

{

TCHAR szVersion[64] = {0};

DWORD dwSize= 64;   

HKEY hKey= NULL;  


if (ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Microsoft\\Internet Explorer"), 0, KEY_READ, &hKey))

{

RegQueryValueEx(hKey, TEXT("Version"), 0, NULL, (LPBYTE)szVersion, &dwSize);

RegCloseKey(hKey);

}


TCHAR *pos = _tcschr(szVersion, TEXT("."));

if (NULL == pos)   return;

*pos = 0;


DWORD dwIEKernel = _ttoi(szVersion) * 1000;


if (ERROR_SUCCESS == RegOpenKeyEx(

HKEY_LOCAL_MACHINE

, TEXT("SOFTWARE\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION")

, 0

, KEY_WRITE

, &hKey))

{

dwSize = sizeof(dwIEKernel);

RegSetValueEx(hKey, lpExeName, 0, REG_DWORD, (LPBYTE)&dwIEKernel, dwSize);

}

RegCloseKey(hKey);

}