用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);
}