帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > 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编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统