C#调用外部程序提供的接口

xxhan 2014-08-05 09:02:48
以下是一个第三方播放器提供的程序接口,需要在C#的主程序中调用实现对播放器的操作,请问怎样实现?
winfrom程序非WEB程序

using System;
using System.Runtime.InteropServices;

namespace StereoPlayer {
[ComVisible(true)]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
[Guid("54150FC5-F6D5-419A-BC0D-E2BE08558934")]
[TypeLibType(TypeLibTypeFlags.FDispatchable | TypeLibTypeFlags.FDual | TypeLibTypeFlags.FOleAutomation)]
public interface IAutomation {
/// <summary>
/// Returns the number of items in the playlist.
/// </summary>
[DispId(0xc9)]
void GetPlaylistItemCount(out int count);

/// <summary>
/// Returns the index of the currently loaded playlist item.
/// </summary>
[DispId(0xca)]
void GetPlaylistItem(out int index);

/// <summary>
/// Loads the specified playlist item.
/// </summary>
[DispId(0xcb)]
void SetPlaylistItem([In] int index);

/// <summary>
/// Loads the next playlist item.
/// </summary>
[DispId(0xcc)]
void NextPlaylistItem();

/// <summary>
/// Loads the previous playlist item.
/// </summary>
[DispId(0xcd)]
void PreviousPlaylistItem();

/// <summary>
/// Opens a stereoscopic video file.
/// </summary>
[DispId(0xce)]
void OpenFile([In, MarshalAs(UnmanagedType.BStr)] string filename);

/// <summary>
/// Opens separate left and right video files as well as an optional audio file.
/// </summary>
[DispId(0xcf)]
void OpenLeftRightFiles([In, MarshalAs(UnmanagedType.BStr)] string leftFilename, [In, MarshalAs(UnmanagedType.BStr)] string rightFilename, [In, MarshalAs(UnmanagedType.BStr)] string audioFilename, [In] AudioMode audioMode);

/// <summary>
/// Opens a DVD, specified by the path (without VIDEO_TS folder).
/// </summary>
[DispId(0xd0)]
void OpenDVD([In, MarshalAs(UnmanagedType.BStr)] string path);

/// <summary>
/// Opens a URL.
/// </summary>
[DispId(0xd1)]
void OpenURL([In, MarshalAs(UnmanagedType.BStr)] string url);

/// <summary>
/// Opens a capture device. Either specifiy the friendly name (might not be unique) or the device identified.
/// </summary>
[DispId(210)]
void OpenDevice([In, MarshalAs(UnmanagedType.BStr)] string device);

/// <summary>
/// Returns the player's state (playing, stopped, ...).
/// </summary>
[DispId(0xd3)]
void GetPlaybackState(out PlaybackState state);

/// <summary>
/// Executes a playback command (play, stop, ...).
/// </summary>
[DispId(0xd4)]
void SetPlaybackState([In] PlaybackState state);
...................
}
太长而且都一样补贴全了
...全文
487 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxhan 2014-08-06
  • 打赏
  • 举报
回复
这个是C++的C#不是这么写
wangnaisheng 2014-08-05
  • 打赏
  • 举报
回复
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧