`
1tyu
  • 浏览: 8533 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

C# and IE ActiveX Control

阅读更多

步骤如下:

1、新建项目;

namespace IEActiveXControl {
    [Guid("{4576985E-AEC1-46c4-B5E6-DFEFA8CBC9EF")] // Use GUIDGEN.exe
    interface IIEActiveXControl { // Interface define
        bool Installed(); // Install state,True = Installed,False = Not Installed
        bool WasRunning(); // ClientApp Running state,True = Running,False = Not Running
        void Logout(string strUserId,string strPassword,bool bRemoveRegKey); 
        void UnInstall();// UnInstall ClientApp
    }

    [Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"),InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IObjectSafety {
        //methods   
        [PreserveSig]
        void GetInterfacceSafyOptions(System.Int32 riid,out System.Int32 pdwSupportedOptions,out System.Int32 pdwEnabledOptions);
        [PreserveSig]
        void SetInterfaceSafetyOptions(System.Int32 riid,System.Int32 dwOptionsSetMask,System.Int32 dwEnabledOptions);
    }
[ClassInterface(ClassInterfaceType.AutoDual)]
[Guid("794037BB-168F-42db-BB18-AC11B98798E4")] // Keep same with step 11
public class YourClassName:IIEActiveXControl {
}

 2、根据实际的业务需要在YourClassName中实现步骤1 中自定义的接口;

 3、修改AssemblyInfo.cs中ComVisible为[assembly: ComVisible(true)];

 4、新建一个IEActiveXControlInstaller安装项目,并添加项目输出的主输出;

 5、然后在安装项目中点击项目主输出,在属性设置窗口中将Register改为vcdrpCOM;

 6、然后生成该IEActiveXControlInstaller.msi;

 7、新建一个IEActiveXControlInstaller.inf文件,内容如下:

[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\IEActiveXControlInstaller.msi" /qn

  8、使用微软提供的CABARC.exe打成cab包,生成IEActiveXControlInstaller.cab文件;

CABARC.EXE N IEActiveXControlInstaller.cab IEActiveXControlInstaller.msi IEActiveXControlInstaller.inf

  9、然后创建测试证书;

makecert -sk IEActiveXControl - n "CN=Javaeye,dc=com" c:\IEActiveXControl\IEActiveXControl.cer

10、然后使用signtool signwizard启动签名向导,按照提示一步步完成对IEActiveXControl.cab的签名;

11、开始测试;

<object name="IEActiveXControl" id="IEActiveXControl"  classid="CLSID:794037BB-168F-42db-BB18-AC11B98798E4" codebase="${contextPath}/IEActiveXControl.cab#version=1,0,0,0"></object>

 clssid注意和第一步YourClassName前的guid保持一致;

12、OK;

13、在IE6、7、8下通过了测试;

14、因为目前的业务某些原因无法上传源码;

 

当然,可能有朋友会说这是基于.net framework的,可能会要求客户机装有.net framework,对客户现场的部署来说是不可接受的。

不过个人觉得这几乎可以不用考虑,现在连5元碟片都已经自带了.net framework了,所以安装系统时可以不用在意这个问题了,当然就更不用说微软的Vista以及Windows 7了,虽然目前市面上对Vista的评价不咋地,但不可否认那毕竟会代表一个主流趋势。

 

分享到:
评论

相关推荐

    C#开发IE插件(ActiveX)

    本文将深入探讨如何使用C#开发IE插件,特别是ActiveX控件,并实现与JavaScript的双向交互。ActiveX是Microsoft提出的一种技术,它允许在网页中嵌入各种功能组件,如播放器、Flash等,而C#则提供了强大的面向对象编程...

    C#电子秤ActiveX源码

    在C#中,创建ActiveX控件通常需要继承自`System.Windows.Forms.Control`或`System.Web.UI.WebControls.WebControl`类,并使用`AxHost`类来包装控件,使其成为ActiveX形式。开发者需要定义接口,使得JavaScript或其他...

    VS2008(c#)开发ActiveX控件、访问及制作CAB包总结

    在本文中,我们将深入探讨如何使用Visual Studio 2008 (C#) 开发ActiveX控件,以及如何创建和打包CAB文件,以便在网页中使用和更新。ActiveX技术允许开发者创建可以在多种应用程序中使用的组件,尤其是在网页中通过...

    C# 开发Activex控件

    8. **测试和调试**:使用支持ActiveX的浏览器(如旧版IE)进行测试。可以利用Visual Studio的调试器进行远程调试,或者使用`&lt;script&gt;`标签在HTML中直接调用控件方法进行测试。 9. **优化和发布**:在确保控件功能...

    c# activex 控件

    1. **创建控件**:首先,使用Visual Studio等IDE,用C#编写一个类库项目,继承自`System.Windows.Forms.Control`或`System.Web.UI.WebControls.WebControl`,并实现所需的功能。完成代码编写后,编译项目生成DLL文件...

    C# 开发ActiveX /OCX插件

    5. **测试与调用**:在C#、网页(通过IE浏览器,因为ActiveX主要支持IE)或其他支持COM的语言(如Java)中测试组件的调用。 **与其他语言的交互**: C#编写的ActiveX插件可以无缝地与多种语言配合使用,包括网页中...

    C#制作ActiveX控件

    在IT行业中,ActiveX控件是一种在Internet Explorer(IE)浏览器中运行的组件,主要用于增强网页的功能和交互性。这些控件通常是用Microsoft的Visual Basic、VC++或C#等编程语言开发的。本教程主要关注如何使用C#来...

    C#视频插件制作,含源代码

    2. **COM互操作性**:理解.NET Framework如何与COM(Component Object Model)进行交互,使得C#编写的ActiveX控件可以被非托管代码(如IE浏览器)识别和调用。 3. **浏览器兼容性**:了解ActiveX控件仅适用于IE,...

    C# ActiveX控件开发源码

    通过研究这些源码,你可以了解如何从头开始创建一个简单的ActiveX控件,例如,可能会有一个名为`HelloBossmaCtrl`的类,它继承自`System.Windows.Forms.UserControl`,并添加了必要的COM属性和方法。 在实际应用中...

    C#设计的浏览器加载activex设计demo

    在C#中,我们可以使用Visual Studio来创建一个UserControl,然后将其封装成ActiveX控件。下面将详细介绍这个过程: 1. **创建UserControl**:首先,打开Visual Studio,新建一个Windows Forms用户控件项目。在设计...

    使用C#开发ActiveX控件

    在C#中创建ActiveX控件,首先需要建立一个WinForm的UserControl工程。UserControl是.NET Framework提供的一种复合控件,可以包含多个基本控件,并且可以自定义其行为。在UserControl的属性页中,你需要勾选“使程序...

    VS2008 C#ActiveX控件的开发

    为了让C#控件能够在非.NET环境中使用,如在VB6或IE浏览器中,我们需要实现`System.Windows.Forms.AxHostDesigner`接口。这个接口包含了一些设计时的方法,例如`GetControlInterfaceType`用于返回控件的接口类型,`...

    读卡器读卡ActiveX

    OCX(Object Linking and Embedding, Control eXtension)是ActiveX控件的一种老式格式。OCX文件包含了控件的二进制代码,可以被应用程序动态加载和使用。开发者会编译源代码生成OCX文件,然后在目标系统上注册此...

    C#版ActiveX + JS +Flex通讯 完整实现

    C#版ActiveX + JS +Flex通訊 全實現 因項目部署需要,特把之前寫的與讀卡器通訊的模塊改為ActiveX插件,給Flash調用,由於Flash不能直接調用ActiveX,所以,用JS作為中間層,作為Flash和ActiveX通訊的橋梁。 ...

    C#编写ActiveX网页截图控件

    同时,要注意的是,由于ActiveX主要依赖于IE浏览器,随着现代浏览器对ActiveX的支持逐渐减少,这种技术在现代Web开发中可能不那么常见,开发者可能会转向其他跨平台的解决方案,如WebAssembly或JavaScript库。

    C#版“我的IE浏览器”

    因此在“我的IE浏览器”中,开发者可能没有直接使用Trident,而是采用了第三方开源的Web浏览器控件,如WebBrowser Control(.NET Framework自带)或CEFSharp(Chromium Embedded Framework的C#绑定)。这些控件允许...

    VS2010开发ActiveX,带打包教程

    VS2010 开发 ActiveX 控件带打包教程 本文主要介绍如何使用 VS2010 开发 ActiveX 控件,并对其进行打包和发布。开发 ActiveX 控件需要解决三个问题:使 .NET 组件可以被 COM 调用、在客户机上注册后,ActiveX 控件...

    activex初学者资料整理

    OCX(Object Linking and Embedding Control Exchange)文件是ActiveX控件的标准格式。开发者通常使用Visual Basic、VC++或C#等编程语言来创建这些控件。生成过程包括定义控件接口、实现控件功能、编译生成DLL动态...

    c#创建active控件

    在C#中创建ActiveX控件,主要是为了在Web应用程序中提供自定义的功能,使得网页可以与客户端系统进行更深入的交互。ActiveX是Microsoft提出的一种技术,它允许开发人员创建可以在Internet Explorer中运行的控件,...

Global site tag (gtag.js) - Google Analytics