应该可以选择打开他的程序,比如realplay.exe

解决方案 »

  1.   

    我的理解是搜索注册表CLASS_ROOT主键下的内容,找到与文件类型有映射的应用程序,然后启动该进程,并用命令行传递参数给进程。
      

  2.   

    System.Diagnostics.Process p=new System.Diagnostics.Process();
    p.StartInfo.FileName=@"C:\Downloads\M-zone纸条篇.mpg";
    p.Start();或者用API
      

  3.   

    给你一个类
    using System;
    using System.Diagnostics;
    namespace ZZ
    {
    /// <summary>
    /// CmdUtility 的摘要说明。
    /// </summary>
    public class CmdUtility
    {

    /// <summary>
    /// 执行cmd.exe命令
    /// </summary>
    /// <param name="commandText">命令文本</param>
    /// <returns>命令输出文本</returns>
    public static string ExeCommand(string commandText)
    {
    return ExeCommand(new string []{commandText});
    }
    /// <summary>
    /// 执行多条cmd.exe命令
    /// </summary>
    /// <param name="commandArray">命令文本数组</param>
    /// <returns>命令输出文本</returns>
    public static string ExeCommand(string [] commandTexts)
    {
    Process p = new Process();
    p.StartInfo.FileName = "cmd.exe";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardInput = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.RedirectStandardError = true;
    p.StartInfo.CreateNoWindow = true;
    string strOutput = null;
    try
    {
    p.Start();
    foreach(string item in commandTexts)
    {
    p.StandardInput.WriteLine(item);
    }
    p.StandardInput.WriteLine("exit");
    strOutput = p.StandardOutput.ReadToEnd();
    p.WaitForExit();
    p.Close();
    }
    catch(Exception e)
    {
    strOutput = e.Message;
    }
    return strOutput;
    }
    /// <summary>
    /// 启动外部Windows应用程序,隐藏程序界面
    /// </summary>
    /// <param name="appName">应用程序路径名称</param>
    /// <returns>true表示成功,false表示失败</returns>
    public static bool StartApp(string appName)
    {
    return StartApp(appName,ProcessWindowStyle.Hidden);
    }
    /// <summary>
    /// 启动外部应用程序
    /// </summary>
    /// <param name="appName">应用程序路径名称</param>
    /// <param name="style">进程窗口模式</param>
    /// <returns>true表示成功,false表示失败</returns>
    public static bool StartApp(string appName,ProcessWindowStyle style)
    {
    return StartApp(appName,null,style);
    }
    /// <summary>
    /// 启动外部应用程序,隐藏程序界面
    /// </summary>
    /// <param name="appName">应用程序路径名称</param>
    /// <param name="arguments">启动参数</param>
    /// <returns>true表示成功,false表示失败</returns>
    public static bool StartApp(string appName,string arguments)
    {
    return StartApp(appName,arguments,ProcessWindowStyle.Hidden);
    }
    /// <summary>
    /// 启动外部应用程序
    /// </summary>
    /// <param name="appName">应用程序路径名称</param>
    /// <param name="arguments">启动参数</param>
    /// <param name="style">进程窗口模式</param>
    /// <returns>true表示成功,false表示失败</returns>
    public static bool StartApp(string appName,string arguments,ProcessWindowStyle style)
    {
    bool blnRst = false;
    Process p = new Process();
    p.StartInfo.FileName = appName;//exe,bat and so on
    p.StartInfo.WindowStyle = style;
    p.StartInfo.Arguments = arguments;
    try
    {
    p.Start();
    p.WaitForExit();
    p.Close();
    blnRst = true;
    }
    catch
    {
    }
    return blnRst;
    }
    }
    }