zoukankan      html  css  js  c++  java
  • c#使用activex控件

    一、不生成具有强名称的程序集

    1.使用下面这两个命令将COM控件转换成.Net程序集

    aximp c:““windows““system““shdocvw.dll

    tlbimp mshtml.tlb

    aximp将产生两个文件:AxSHDocVw.dll and SHDocVw.dll.

    tlbimp将产生MSHTML.dll,它包含了3000多个 DHTMLDOM的接口,所以转换可能需要一些时间.

    2. 上面产生的DLL文件直接可由.Net应用程序调用了。

    二、生成具有强名称的程序集

    1.用sn 命令生成三个snk文件,分别是后面将要生成的程序集的密钥文件

    Sn –k AxSHdoc.snk

    Sn –k shdocvw.snk

    Sn –k mshtml.snk

    2.使用上面aximp 和 tlbimp 生成这三个程序集文件,这些命令加上/keyfile:可选项

    aximp c:““windows““system““shdocvw.dll /keyfile:AxSHDOC.snk shdocvw.snk

    tlbimp mshtml.tlb /keyfile:mshtml.snk

    这样就可以生成具有强名称的程序集了。

    3.把它们加到程序集缓存中,分别调用

    Gacutil axshdocvw.dll

    Gacutil shdocvw.dll

    Gacutil mshtml.dll

    打开全局程序集缓存,就可以看到这三个程序集已经在列表中了。

    在C:““winnt““assembly也可以看到了。

    调用ActiveX控件编写播放器时,遇到了不少问题!

    播放器如

    using System;

    using System.Drawing;

    using System.Collections;

    using System.ComponentModel;

    using System.Windows.Forms;

    using System.Data;

    using MediaPlayer;

    namespace AdvancePlayer

    {

    /**//// summary

    /// Form1 的摘要说明。

    /// /summary

    public class Form1 : System.Windows.Forms.Form

    {

    private AxMediaPlayer.AxMediaPlayer axWindowsMediaPlayer1;

    private System.Windows.Forms.OpenFileDialog openFileDialog1;

    private System.Windows.Forms.MainMenu mainMenu1;

    private System.Windows.Forms.MenuItem menuItemOpen;

    private System.Windows.Forms.MenuItem menuItemClose;

    private System.Windows.Forms.MenuItem menuItemInitSize;

    private System.Windows.Forms.MenuItem menuItemFullScreen;

    private System.Windows.Forms.MenuItem menuItemShowAudioCtrl;

    private System.Windows.Forms.MenuItem menuItemShowPositionCtrl;

    private System.Windows.Forms.MenuItem menuItemShowTrackbarCtrl;

    private System.Windows.Forms.MenuItem menuItemFile;

    private System.Windows.Forms.MenuItem menuItemVideo; [Page]

    private System.Windows.Forms.MenuItem menuItemWindow;

    /**//// summary

    /// 必需的设计器变量。

    /// /summary

    private System.ComponentModel.Container components = null;

    public Form1()

    {

    //

    // Windows 窗体设计器支持所必需的

    //

    InitializeComponent();

    //

    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码

    //

    }

    /**//// summary

    /// 清理所有正在使用的资源。

    /// /summary

    protected override void Dispose( bool disposing )

    {

    if( disposing )

    {

    if (components != null)

    {

    components.Dispose();

  • 相关阅读:
    自定义UILabel,使文字居左上显示
    xcode 7 运行项目报错 -fembed-bitcode is not supported on versions of iOS prior to 6.0
    git 如何删除本地未提交的文件
    coco2d-x技术
    mac 查看端口是否被使用
    ios 提交
    oc基础复习10-OC的id
    oc基础复习09-OC的self 和super(深入理解)
    oc基础复习08-OC的类方法
    oc基础复习07-OC的弱语法(转)
  • 原文地址:https://www.cnblogs.com/dlbird/p/1893342.html
Copyright © 2011-2022 走看看