本文共 1569 字,大约阅读时间需要 5 分钟。
我们在使用ActiveX的时候,经常因为没有证书,IE提示我们安全性问题导致此站的ocx无法正常加载,无法正常使用,下面的例子就是用程序实现加载站点成为信任站点
void CMainDlg::AddSiteToTrustedZone(wchar_t *pSite){ HRESULT hResult = S_OK; ::CoInitialize(NULL); // // 将Vone接入网关加入可信站点 // IInternetSecurityManager *pSecurityManager = NULL; hResult=CoCreateInstance( CLSID_InternetSecurityManager, NULL, CLSCTX_INPROC_SERVER, IID_IInternetSecurityManager, (void **)&pSecurityManager ); if (SUCCEEDED(hResult)) { hResult = pSecurityManager->SetZoneMapping(URLZONE_ESC_FLAG|URLZONE_TRUSTED, pSite, SZM_CREATE ); pSecurityManager->Release(); } // // 设置IE为“没有证书或只有一张证书时不提示用户” // IInternetZoneManager *pZoneManager = NULL; hResult = ::CoCreateInstance( CLSID_InternetZoneManager, NULL, CLSCTX_SERVER, IID_IInternetZoneManager, (void **)&pZoneManager); if (SUCCEEDED(hResult)) { DWORD dwPolicy=URLPOLICY_ALLOW; pZoneManager->SetZoneActionPolicy(URLZONE_TRUSTED, URLACTION_CLIENT_CERT_PROMPT, (BYTE *)&dwPolicy, sizeof(DWORD), URLZONEREG_DEFAULT); pZoneManager->Release(); } ::CoUninitialize();}
转载地址:http://sggdi.baihongyu.com/