### Win7 下 VS2010 C# ActiveX 控件制作及打包签名详解 #### 一、环境配置 本文档旨在指导如何在Windows 7环境下使用Visual Studio 2010进行ActiveX控件的开发,并详细介绍如何进行控件的打包与数字签名。 **环境配置如下:** - **操作系统:** Windows 7 - **开发工具:** Visual Studio 2010 - **.NET版本:** 4.0 - **开发语言:** C# 首先需要准备`makeCAB`工具包,它包含用于制作数字签名和创建cab文件的多个可执行程序。将这些工具保存至路径`D:\makeCAB`。此外,还需要编辑系统的环境变量,以便在命令行界面中可以直接调用这些工具。具体操作方法请参考提供的图片资料。 #### 二、编写ActiveX控件 ##### 1. 创建新的Windows窗体控件库 打开Visual Studio 2010,创建一个新的Windows窗体控件库项目。这将是您编写ActiveX控件的基础框架。 ##### 2. 重命名UserControl1.cs 将默认的`UserControl1.cs`文件重命名为`HelloDanielActiveX.cs`。这样可以使您的控件具有更好的辨识度。 ##### 3. 设计用户界面 在设计视图中拖拽一个`GroupBox`控件以及两个`Label`控件到界面上。这些控件将构成ActiveX控件的基本界面。 ##### 4. 添加方法 为控件添加一个名为`SetTime`的方法,该方法接收一个字符串参数并将其赋值给`Label`控件。此方法将允许JavaScript通过ActiveX接口调用,以更新界面上的时间显示。 ```csharp #region Javascript调用ActiveX的方法 // 设置当前时间 public void SetTime(string timeStr) { this.label2.Text = timeStr; } #endregion ``` ##### 5. 新建接口 接下来需要定义一个符合COM标准的安全接口`IObjectSafety`,以确保ActiveX控件的安全性。可以通过PInvoke网站上的参考资料来实现这一接口。 ```csharp using System; using System.Runtime.InteropServices; namespace HelloDaniel { [ComImport, Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IObjectSafety { [PreserveSig] int GetInterfaceSafetyOptions(ref Guid riid, ref int pdwSupportedOptions, ref int pdwEnabledOptions); [PreserveSig()] int SetInterfaceSafetyOptions(ref Guid riid, int dwOptionSetMask, int dwEnabledOptions); } } ``` ##### 6. 实现接口 在`HelloDanielActiveX`类中实现`IObjectSafety`接口。具体实现细节可以参考链接中的文档。 ##### 7. 添加Guid、ProgId和ComVisible属性 为确保控件可以被其他应用程序识别,需要为其添加GUID、ProgID以及设置`ComVisible`属性为`true`。可以在项目属性的“程序集信息”选项卡中完成这些设置。 ```csharp [Guid("6DCD51C2-33FD-4556-842F-419B6AA3C252"), ProgId("HelloDaniel.HelloDanielActiveX"), ComVisible(true)] public partial class HelloDanielActiveX : UserControl, IObjectSafety { // 接口实现代码... } ``` 在属性设置中还需要勾选“为COM互操作注册”。 ##### 8. 添加引用 为了支持JavaScript调用,需要添加相应的引用。右键单击项目,选择“添加引用”,然后添加必要的组件引用。 #### 三、打包与数字签名 完成控件开发后,下一步就是将其打包成适合发布的格式,并进行数字签名。 1. **生成CAB文件:** 使用`makeCAB`工具生成包含所有资源的CAB文件。 2. **创建安装程序:** 可以使用第三方工具如Inno Setup或WiX来创建安装程序,以便于用户安装。 3. **数字签名:** 对最终的安装程序文件进行数字签名,以确保其来源可靠且未被篡改。 数字签名的具体步骤包括获取证书、使用签名工具对文件进行签名等。这些步骤通常涉及使用命令行工具和特定的证书颁发机构。 通过以上步骤,您可以成功地在Windows 7环境中使用Visual Studio 2010创建并发布一个功能完善的ActiveX控件。
- 粉丝: 0
- 资源: 15
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Microsoft-Office-2019-VL-Serializer-Universal office使用软件
- 三张卡牌类游戏demo
- (源码)基于Arduino的指纹识别与RFID读卡器访问控制系统.zip
- (源码)基于SpringCloud的新闻检索与推荐系统.zip
- (源码)基于C语言和C++的简单网站留言评论系统.zip
- (源码)基于Apache Mina框架的短信通信系统.zip
- 前端铺子开发者 前端杂货铺 小程序在线课堂+工具组件小程序uniapp移动端.zip
- Delphi TImage 增加支持 PNG 图片格式 TPNGImage
- (源码)基于C#的图书馆管理系统.zip
- (源码)基于Java和Bukkit框架的年龄管理系统.zip
- 1
- 2
前往页