【问题标题】:Process.Start(path) is not opening the file in Default Desktop ApplicationProcess.Start(path) 未在默认桌面应用程序中打开文件
【发布时间】:2019-04-30 08:40:55
【问题描述】:

我正在尝试在其默认桌面应用程序中打开下载的文件,例如如果这是一个“.txt”文件,则应在记事本中打开,如果是(“.docx”)文件,则应使用“wordpad.exe”打开(如果未安装 MS Word)。我正在尝试使用非常常见的“Process.Start()”方法打开文件:

System.Diagnostics.Process.Start(path);

其中“路径”是文件的完整路径,即 c:\somefolder\file.extension

代码在执行时没有任何错误(也已调试),当我检查任务管理器时,相关进程(notpad.exe、wordpad.exe,基于正在打开的文件)在那里在进程列表中。 但是,桌面应用程序永远不会启动来显示文件。 请指导我缺少什么。

【问题讨论】:

  • 有点不清楚,什么是“桌面应用程序”?其中“System.Diagnostics.Process.Start(path);”跑?是服务应用吗?
  • 对不起,我的意思是本地桌面应用程序,即记事本用于 txt 文件,写字板用于 docx 文件
  • 看来要使用shell执行:stackoverflow.com/questions/5255086/…
  • 试试 System.Diagnostics.Process.Start("cmd /c start \""+path+"\"");

标签: c# process.start


【解决方案1】:

根据您提供的信息,没有太多信息可以继续。一个简单的步骤是检查变量的值是什么并将其粘贴到运行中以查看它是否实际执行。这可能是一个小问题。

【讨论】:

    【解决方案2】:

    试试这个:

    Process p = new Process();
    p.StartInfo.UseShellExecute = true;
    p.StartInfo.FileName = path;
    p.Start();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多