下面是一个使用c# 映射媒体播放机com 对象的程序。
程序清单2 demoncom.cs
using system;
using system.runtime.interopservices;
namespace quartztypelib
{
//声明一个com接口 imediacontrol,此接口来源于媒体播放机com类
[guid(“56a868b1-0ad4-11ce-b03a-0020af0ba770”),
interfacetype(cominterfacetype.interfaceisdual)]
interface imediacontrol
{ //列出接口成员
void run();
void pause();
void stop();
void getstate( [in] int mstimeout, [out] out int pfs);
void renderfile(
[in, marshalas(unmanagedtype.bstr)] string strfilename);
void addsourcefilter(
[in, marshalas(unmanagedtype.bstr)] string strfilename,
[out, marshalas(unmanagedtype.interface)]
out object ppunk);
[return: marshalas(unmanagedtype.interface)]
object filtercollection();
[return: marshalas(unmanagedtype.interface)]
object regfiltercollection();
void stopwhenready();
}
//声明一个com类:
[comimport, guid(“e436ebb3-524f-11ce-9f53-0020af0ba770”)]
class filgraphmanager //此类不能再继承其它基类或接口
{
//这里不能有任何代码 ,系统自动增加一个缺省的构造函数
}
}
class mainclass
{
public static void main(string[] args)
{
//命令行参数:
if (args.length != 1)
{
displayusage();
return;
}
string filename = args[0];
if (filename.equals(“/?”))
{
displayusage();
return;
}
// 声明filgraphmanager的实类对象:
quartztypelib.filgraphmanager graphmanager =new quartztypelib.filgraphmanager();
//声明imediacontrol的实类对象::
quartztypelib.imediacontrol mc =(quartztypelib.imediacontrol)graphmanager;
// 调用com的方法:
mc.renderfile(filename);
//运行文件.
mc.run();
//暂借停.
console.writeline(“press enter to continue.”);
console.readline();
}
private static void displayusage()
{ // 显示
console.writeline(“媒体播放机: 播放 avi 文件.”);
console.writeline(“使用方法: videoplayer.exe 文件名”);
}
}
运行示例:
若要显示影片示例 clock.avi,请使用以下命令:
interop2 %windir%\clock.avi
这将在屏幕上显示影片,直到按 enter 键停止。
基于C#的接口基础教程之六(4)-.NET教程,C#语言
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 基于C#的接口基础教程之六(4)-.NET教程,C#语言
相关推荐
-      VS2010的aspx文件中的html代码的格式化方法
-      .net 反序题目的详细解答第1/2页
-      asp.net创建html文本文件实例
-      比较完整的 asp.net 学习流程
-      官网 Ext direct包中.NET版的问题
-      C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页
-      c# 连接字符串数据库服务器端口号 .net状态服务器端口号
-      asp.net教程:简单的C#图片上传代码或C#文件上传代码