首先 通过学习 VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程 可以掌握基础架构设计。
其中" const GUID CDECL BASED_CODE _tlid " 指的是 lib中的" [ uuid(664A0F41-0A1B-4595-90B9-B56974C06DA1), version(1.0)," 中的uuid号码。
但是我在添加数字签名时出现很多问题,而无法解决,因此,我将其 regsvr32 后再在网页上使用JS判读是否安装了此OCX,就是 try 捕获异常判读法,没安装就有异常,提示用户须要下载安装。
但是这样的话,经过我的测试 通过regsvr32注册后,还是不能使用此ocx,只能在本地访问。
后来,我添加一个
// Ctrl 的 CLSID,
const GUID CDECL CLSID_SafeItem =
{ 0xDC3F6FB8, 0x4F4E, 0x4B2D, { 0xB8,0xF6,0xFD,0xCB,0xF0,0x8F,0x22,0xB3 } };
在 DllRegisterServer 函数中更改
RegisterCLSIDInCategory(CLSID_SafeItem ,
在 UnRegisterCLSIDInCategory 函数中更改
UnRegisterCLSIDInCategory(CLSID_SafeItem,
这样之后,便可以web页面上直接使用此ocx控件了, 但是 regsvr32 /u 出错,不知解决原因,但是我更改回原样就可以 regsvr32 /u了。