帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统v4.6
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程 >
基于C#的接口基础教程之六(4)
作者:黎宇/Yesky 发布时间:2005-03-12 来源:ASPCOOL
     下面是一个使用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 键停止。
  

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·.NET框架中基于角色的安全性(2)  (2005-03-12)
 ·.NET框架中基于角色的安全性(1)  (2005-03-12)
 ·基于C#的接口基础教程之六(5)  (2005-03-12)
 ·.NET框架中基于角色的安全性(3)  (2005-03-12)
 ·基于wap协议的wml开发示例,在Op  (2005-03-12)
 ·基于Java&XML技术构建植物病虫害  (2005-03-12)
 ·使用J2EE建立基于XML的网络服务  (2005-03-12)
 ·基于RPC 0.8的Java API for XML最  (2005-03-12)
 ·用JDBC开发基于客户/服务器模式的  (2005-03-12)
 ·用J2EE技术实现基于Web的智能推理  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·帝国网站管理系统采集使用教程
·帝国网站管理系统模板制作教程
·帝国CMS模板下载
·Discuz6.0.1UC版通行证发布
·帝国网站管理系统之网站迁移教程
·帝国网站管理系统实例入门教程下载
·《帝国网站管理系统》实例入门教程
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统