关键词搜索

源码搜索 ×
×

C# 打开指定路径下文件

发布2014-03-08浏览13967次

详情内容

  1. /// <summary>
  2. /// 打开指定路径下文件,比如:Word、Excel、Dll、图片等都可以(前提是你已经安装打开程序的对应软件)
  3. /// </summary>
  4. /// <param name="NewFileName">eg:D:\Test\模版8.doc</param>
  5. /// <param name="NewFileName">eg:D:\Test\模版8.doc</param>
  6. private void OpenFile(string NewFileName)
  7. {
  8. Process process = new Process();
  9. ProcessStartInfo processStartInfo = new ProcessStartInfo(NewFileName);
  10. process.StartInfo = processStartInfo;
  11. # region 下面这段被注释掉代码(可以用来全屏打开代码)
  12. 建立新的系统进程
  13. //System.Diagnostics.Process process = new System.Diagnostics.Process();
  14. 设置文件名,此处为图片的真实路径+文件名(需要有后缀)
  15. //process.StartInfo.FileName = NewFileName;
  16. 此为关键部分。设置进程运行参数,此时为最大化窗口显示图片。
  17. //process.StartInfo.Arguments = "rundll32.exe C://WINDOWS//system32//shimgvw.dll,ImageView_Fullscreen";
  18. 此项为是否使用Shell执行程序,因系统默认为true,此项也可不设,但若设置必须为true
  19. //process.StartInfo.UseShellExecute = true;
  20. #endregion
  21. try
  22. {
  23. process.Start();
  24. try
  25. {
  26. // process.WaitForExit();
  27. }
  28. catch (Exception ex)
  29. {
  30. throw ex;
  31. }
  32. }
  33. catch (Exception ex)
  34. {
  35. throw ex;
  36. }
  37. finally
  38. {
  39. try
  40. {
  41. if (process != null)
  42. {
  43. process.Close();
  44. process = null;
  45. }
  46. }
  47. catch { }
  48. }
  49. }

今天,测试的时候,不知道谁在

process.StartInfo = processStartInfo;
这个句话的后面,添加了这么一句话:

process.StartInfo.UseShellExecute = false;

一开始也没注意,然后一直报下面这个错误:

The specified executable is not a validapplication for this OS platform.

解释:

        ProcessStartInfo.UseShellExecute 属性:获取或设置一个值,该值指示是否使用操作系统外壳程序启动进程。

属性值:
        若要在启动进程时使用外壳程序,则为 true;否则,直接从可执行文件创建进程。默认为 true。将属性设置为 false 能够重定向输入流、输出流和错误流。否则不行。
        使用操作系统外壳程序启动进程时,可以使用 Process 组件启动任何文档(可以是与可执行文件关联的、具有默认打开操作的任何注册文件类型),并对该文件执行操作(如打印)。如果 UseShellExecute 为 false,则只能使用 Process组件启动可执行文件。







相关技术文章

最新源码

下载排行榜

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载