<object id="mailactive" classid=’http://localhost/MaliActive.dll#MaliActive.Demo’ Width="184" Height="96" VIEWASTEXT> </object>
</body>
<object id="helloworld"
classid="clsid: de70b19a-bab6-4526-9784-618b6eafcc49" Width="184" Height="96">
</object>
</body>
使用IE查看,我们的控件又可以在网页中显示了。不过,这个时候它已经不再是以前的.net WinForm控件了,而是货真价实的ActiveX控件了。
不过,编写ActiveX控件的任务还没有完成。我们还没有实现脚本互动或者读写I/O,也没有实现ActiveX控件的自动分发。在下一篇Blog中,我会完成ActiveX控件的编写
标签:其他频道 |
我们在Demo中加入ShowMessage方法:
{
if(msg != null)
{
MessageBox.Show(msg);
}
}
我们重新编译。在重新访问页面之前,我们先来修改html代码:
<object id="helloworld"
classid="clsid: de70b19a-bab6-4526-9784-618b6eafcc49" Width="184" Height="96"
>
</object>
<br>
<input type=’button’ onclick=’helloworld.ShowMessage(“Hello World!”)’ value=’Click’>
</body>
public interface IObjectSafety
{
// methods
void GetInterfacceSafyOptions(
System.Int32 riid,
out System.Int32 pdwSupportedOptions,
out System.Int32 pdwEnabledOptions);
void SetInterfaceSafetyOptions(
System.Int32 riid,
System.Int32 dwOptionsSetMask,
System.Int32 dwEnabledOptions);
}
{
// TODO: 添加 WebCamControl.GetInterfacceSafyOptions 实现
pdwSupportedOptions = 1;
pdwEnabledOptions = 2;
}
public void SetInterfaceSafetyOptions(Int32 riid, Int32 dwOptionsSetMask, Int32 dwEnabledOptions)
{
// TODO: 添加 WebCamControl.SetInterfaceSafetyOptions 实现
}
#endregion
重新编译,然后将IE里面的设置改回来。现在,我们发现,和JS的交互已经没有问题了
标签:其他频道 |
上网下载下面的几个工具,一般微软提供的PDK完整版都有(VS2005中都有)
makecert.exe 制作测试证书用
Cert2Spc.Exe 顾名思义,把cert 转换成 spc证书
CabArc.Exe 打包成cab文件用
signtool.exe 把证书往cab文件里面签署
先制作测试证书或者上网注册一个免费证书,
我上了www.ca365.com注册了某个免费证书,安装到电脑上,再通过IE把它导出为cert证书文件
cert2spc mail.cer mail.spc =>生成SPC证书
编写cab信息文件:mail.info
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
MailActive.dll=MailActive.dll
[MailActive.dll]
file-win32-x86=thiscab
clsid={de70b19a-bab6-4526-9784-618b6eafcc49}
FileVersion=1,0,0,2
RegisterServer=yes
然后进行打包
CabArc -s 6144 n d:/mail.cab d:/mail.dll d:/mail.inf
生成mail.cab文件
现在对mail.cab文件签名
在VS2005的命令提示符下输入
signtool signwizard
打开数字签名向导,按向导将生成的mail.spc文件或存储区的证书导入mail.cab文件即可
然后修改mailactive.htm文件
<body bgcolor='#cccccc'>
<object id="mailactive" classid="clsid:DE70B19A-BAB6-4526-9784-618B6EAFCC49" Width="0" Height="0" codebase="MailActive.cab#version=1.0.0.2" ></object>
<br>
<input type="button" onclick='mailactive.ShowMessage("ok");' value="Click" >
</body>
浏览器会提示安装,然后安装后即可浏览成功.
到此,编写active控件完成.
然后是客户端注册active控件(Net版):
regasm MailActive.dll /tlb /codebase
发布时也可以用CAB包发布:
将Jmail.dll文件和mailSetup.msi文件打包成.cab文件,最后签名发布就可以了.
打包成cab文件见:http://dev.youkuaiyun.com/article/article/44/article/48/48338.shtm