CHtmlView指定用到的IE内核

为进程的CHtmlView指定用到的IE内核

修改注册表中 SOFTWARE\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION 下面的值即可

具体数值含义,参考:http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx

 

 

 
  1. BOOL RaisePrivileges()

  2. {

  3. HANDLE TokenHandle;

  4. TOKEN_PRIVILEGES t_privileges = {0};

  5.  
  6. if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &TokenHandle))

  7. {

  8. return FALSE;

  9. }

  10.  
  11. if(!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &t_privileges.Privileges[0].Luid))

  12. {

  13. return TRUE;

  14. }

  15.  
  16. t_privileges.PrivilegeCount = 1;

  17. t_privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

  18.  
  19. if(!AdjustTokenPrivileges(TokenHandle, FALSE, &t_privileges, sizeof(TOKEN_PRIVILEGES), NULL, NULL))

  20. {

  21. CloseHandle(TokenHandle);

  22. return FALSE;

  23. }

  24. else

  25. {

  26. return TRUE;

  27. }

  28. }

  29.  
  30. void SetIECoreVersion()

  31. {

  32. wchar_t* path = L"SOFTWARE\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION";

  33. wchar_t* valueName = L"你的程序.exe";

  34. long version=9999;

  35. wchar_t err[1024];

  36. HKEY hKey;

  37. DWORD dwDisposition;

  38. long ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, path, 0,REG_LEGAL_OPTION, &hKey);

  39. if( ret != ERROR_SUCCESS)

  40. {

  41. FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, ret, NULL,err,sizeof(err),NULL);

  42. ret = RegCreateKeyEx(HKEY_LOCAL_MACHINE, path,0, NULL, REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL, &hKey, &dwDisposition);

  43. if( ret != ERROR_SUCCESS)

  44. {

  45. FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, ret, NULL,err,sizeof(err),NULL);

  46. return;

  47. }

  48. }

  49.  
  50. ret = RegSetValueEx( hKey, valueName, NULL, REG_DWORD, (BYTE*)&version, sizeof(version));

  51. if( ret != ERROR_SUCCESS)

  52. return;

  53. }

 

 

连续调用
RaisePrivileges();
SetIECoreVersion();

即可解决该问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值