阻止IE弹出“在此页上的 ActiveX 控件和本页上的其他部份的交互可能不安全。你想允许这种交互吗?”对话框
2011-12-12 16:03
417 查看
//在包含DllRegisterServer和DllUnregisterServer函数的cpp文件中加入以下代码 //加入一个新的头文件 #include <ObjSafe.h> //以下GUID为为当前使用的组件的GUID const GUID CDECL CLSID_SafeItem ={ 0x6a3227ec, 0x9371, 0x4294, { 0x82, 0xee, 0x29, 0x9d, 0xd, 0x1f, 0x65, 0xda } }; // 创建组件种类 HRESULT CreateComponentCategory(CATID catid, WCHAR* catDescription) { ICatRegister* pcr = NULL ; HRESULT hr = S_OK ; hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr); if (FAILED(hr)) return hr; CATEGORYINFO catinfo; catinfo.catid = catid; catinfo.lcid = 0x0409 ; // english int len = (int)wcslen(catDescription); if (len>127) len = 127; lstrcpyn(catinfo.szDescription, catDescription, len); // Make sure the description is null terminated. catinfo.szDescription[len] = '\0'; hr = pcr->RegisterCategories(1, &catinfo); pcr->Release(); return hr; } // 注册组件种类 HRESULT RegisterCLSIDInCategory(REFCLSID clsid, CATID catid) { // Register your component categories information. ICatRegister* pcr = NULL ; HRESULT hr = S_OK ; hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr); if (SUCCEEDED(hr)) { CATID rgcatid[1] ; rgcatid[0] = catid; hr = pcr->RegisterClassImplCategories(clsid, 1, rgcatid); } if (pcr != NULL) pcr->Release(); return hr; } // 卸载组件种类 HRESULT UnRegisterCLSIDInCategory(REFCLSID clsid, CATID catid) { ICatRegister* pcr = NULL ; HRESULT hr = S_OK ; hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr); if (SUCCEEDED(hr)) { CATID rgcatid[1] ; rgcatid[0] = catid; hr = pcr->UnRegisterClassImplCategories(clsid, 1, rgcatid); } if (pcr != NULL) pcr->Release(); return hr; } //修改DllRegisterServer和DllUnregisterServer函数的中的代码 // DllRegisterServer - 将项添加到系统注册表 STDAPI DllRegisterServer(void) { AFX_MANAGE_STATE(_afxModuleAddrThis); if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid)) return ResultFromScode(SELFREG_E_TYPELIB); if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE)) return ResultFromScode(SELFREG_E_CLASS); HRESULT hr; // 标记控件初始化安全. // 创建初始化安全组件种类 hr = CreateComponentCategory(CATID_SafeForInitializing, L"Controls safely initializable from persistent data!"); if (FAILED(hr)) return hr; // 注册初始化安全 hr = RegisterCLSIDInCategory(CLSID_SafeItem, CATID_SafeForInitializing); if (FAILED(hr)) return hr; // 标记控件脚本安全 // 创建脚本安全组件种类 hr = CreateComponentCategory(CATID_SafeForScripting, L"Controls safely scriptable!"); if (FAILED(hr)) return hr; // 注册脚本安全组件种类 hr = RegisterCLSIDInCategory(CLSID_SafeItem, CATID_SafeForScripting); if (FAILED(hr)) return hr; return NOERROR; } // DllUnregisterServer - 将项从系统注册表中移除 STDAPI DllUnregisterServer(void) { AFX_MANAGE_STATE(_afxModuleAddrThis); if (!AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor)) return ResultFromScode(SELFREG_E_TYPELIB); if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE)) return ResultFromScode(SELFREG_E_CLASS); HRESULT hr; // 删除控件初始化安全入口. hr = UnRegisterCLSIDInCategory(CLSID_SafeItem, CATID_SafeForInitializing); if (FAILED(hr)) return hr; // 删除控件脚本安全入口 hr = UnRegisterCLSIDInCategory(CLSID_SafeItem, CATID_SafeForScripting); if (FAILED(hr)) return hr; return NOERROR; }
相关文章推荐
- VC++开发的ActiveX如何加入安全机制,避免IE中提示“在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗?”
- VC++开发的ActiveX如何加入安全机制,避免IE中提示“在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗?”
- 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全
- 去掉 在此页上的actives控件和本页上的其它部分的交互可能不安全,你想允许这种交互吗
- 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全
- VC开发的ActiveX加入安全机制,避免IE中提示“在此页上的ActiveX控件,,不安全,你想允许这种交互吗?”
- ATL控件签名之后页面还提示“在此页面上的Activex控件和本页上的其他部分及交互可能不安全”
- 在js中添加信任站点,禁用xinxp弹出窗口阻止程序,修改IE ActiveX安全设置
- 在js中添加信任站点,禁用xinxp弹出窗口阻止程序,修改IE ActiveX安全设置
- 点击打印出现IE已经阻止此站点用不安全方式使用 ActiveX 控件解决方
- 您的安全设置不允许网站使用计算机上已安装的ActiveX 控件。可能无法正确显示此页。。。
- 点击打印出现IE已经阻止此站点用不安全方式使用 ActiveX 控件解决方法
- 您的网页浏览器已阻止此站点以不安全的方式打开使用Active控件。因此,此页可能显示不正确
- 通过网页修改activex安全设置,添加信任站点,禁用弹出窗口阻止程序
- Windows Server 2008 IE弹出 Internet Explorer增强安全设置正在阻止来自下列网站的此应用程序中的内容
- JS添加可信站点、修改ActiveX安全设置,禁用弹出窗口阻止程序的方法
- 通过网页修改activex安全设置,添加信任站点,禁用弹出窗口阻止程序
- 关于 运行IE 弹出“允许阻止内容”
- js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
- JS添加可信站点、修改ActiveX安全设置,禁用弹出窗口阻止程序的方法