- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ActiveX控件发布过程,activex控件,activex控件下载,activex控件官方下载,activex控件被阻止,ie阻止activex控件,安装activex控件,activex控件未注册,chromeactivex控件,activex控件下载安装
ActiveX 控件发布
1.ActiveX 控件发布简介
ActiveX 控件建立在组建对象模型之上,它使得各种软件组件可以在网络工作环境中相
互作用,而不论这个组件是采用什么语言编写的。本文没有介绍ActiveX 的相关概念的和技
术方法,而是详细阐述了ActiveX 控件开发完成后,发布过程所要注意的相关细节和步骤。
ActiveX 控件开发完毕后,可以采用CAB 包的形式发布,这种方法的好处在于CAB 包采
用了压缩技术,支持新老版本的替换,而且支持多个文件的发布,并可以使用数字签名进行
部署。
2.ActiveX 的安全性
2.1 对于脚本与数据初始化为安全
ActiveX 控件要对于脚本与数据初始化为安全的,如果没有进行这一步,浏览器会以不
安全阻止该控件的运行,而且需要人为的降低浏览器的安全特性。如图1,需要人工启用“对
为标记为可安全执行脚本的ActiveX 控件初始化并执行脚本*”选项,ActiveX 控件才能正
常运行。
图1 内部标记安全
将MFC ActiveX 控件作为安全标记为脚本和初始化,可参看MSDN 资料,链接:
/kb/161873/zh-cn 。
本文采用MSDN 文中提及的第二种方法,修改控件的DllRegisterServer 函数来标记该控
件在注册表中的安全。步骤如下:
(1)打开您的MFC ActiveX 控件工程,如果您的工程名为MyOCX,请找到MyOCX.cpp 文件。
// MyOCX.cpp : CMyOCXApp 和DLL 注册的实现。
#include stdafx.h
#include MyOCX.h
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
CMyOCXApp theApp;
const GUID CDECL BASED_CODE _tlid =
{ 0x19EC2C5A, 0x5007, 0x445B, { 0xA0, 0xC4, 0x73, 0x54, 0xC2, 0xB5, 0xB3, 0xB1 } };
const WORD _wVerMajor = 1;
const WORD _wVerMinor = 0;
// CMyOCXApp::InitInstance - DLL 初始化
BOOL CMyOCXApp::InitInstance()
{
BOOL bInit = COleControlModule::InitInstance();
if (bInit)
{
// TODO: 在此添加您自己的模块初始化代码。
}
return bInit ;
}
// CMyOCXApp::ExitInstance - DLL 终止
int CMyOCXApp::ExitInstance ()
{
// TODO: 在此添加您自己的模块终止代码。
return COleControlModule::ExitInstance ();
}
// 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);
return NOERROR ;
}
// DllUnregisterServer - 将项从系统注册表中移除
STDAPI DllUnregisterServer (void)
{
AFX_MANAGE_STATE (_afxModuleAddrThis);
if (!AfxOleUnregisterTypeLib (_tlid, _wVerMajor, _wVe
文档评论(0)