在WinForms中使用ActiveX

WinFoms中如果想添加control的话只支持winform control。但是,我们有很多老控件,所以,WinForm提供了一种新方法,可以支持我们将ActiveX用在WinForm中,而且就和用winform一样。

这里我们将在一个Form中添加一个Media Player。

1. 注册ActiveX控件。

这一步并不是必须的。但是很多ActiveX控件并没有注册,所以我们需要先注册一下。

Media Player的ActiveX控件存在c:\windows\system32\msdxm.ocx。我们需要调用regsvr32命令来注册该控件。

在命令行下敲下面命令:

regsvr32 c:\windows\system32\msdxm.ocx

2. 生成ActiveX的wrapper。在我们的程序里,我们将和这些wrapper打交道。

.NET提供了ActiveX Control Importer(aximp.exe)。你从Visual Studio Command Support里可以调用该程序。

aximp c:\windows\system32\msdxm.ocx

aximp会生成两个DLL文件。一个是AxMediaPlayer.dll,另一个是MediaPlayer.dll。

你可以点击下面链接得到详细信息。

http://msdn.microsoft.com/en-us/library/8ccdh774%28VS.80%29.aspx

3. 创建你的程序。创建一个WinForm程序。新建一个Form类。插入下面代码。

private AxMediaPlayer.AxMediaPlayer m_Player;

private void InitializeComponent()
{
this.m_Player = new AxMediaPlayer.AxMediaPlayer();
//
// m_Player
//
this.m_Player.Dock = System.Windows.Forms.DockStyle.Fill;
this.m_Player.Location = new System.Drawing.Point(0, 24);
this.m_Player.Name = "m_Player";
this.m_Player.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("m_Player.OcxState")));
this.m_Player.Size = new System.Drawing.Size(563, 311);
this.m_Player.TabIndex = 0;
this.Controls.Add(this.m_Player);
}

4. 编译程序。你可以看到一个Media Player出现在Form上。接下来,你就可以调用MediaPlayer提供的方法来播放音频文件或视频文件。

原文地址:https://www.cnblogs.com/xiaxi/p/2039921.html