/// <summary> /// 翻开指定途径下文件,比方:Word、Excel、Dll、图片等都可以(条件是你已装置翻开顺序的对应软件) /// </summary> /// <param name="NewFileName">eg:D:\Test\模版8.doc</param> /// <param name="NewFileName">eg:D:\Test\模版8.doc</param> private void OpenFile(string NewFileName) { Process process = new Process(); ProcessStartInfo processStartInfo = new ProcessStartInfo(NewFileName); process.StartInfo = processStartInfo; # region 下面这段被诠释掉代码(可以用来全屏翻开代码) ////建立新的体系历程 //System.Diagnostics.Process process = new System.Diagnostics.Process(); ////设置文件名,此处为图片的实在途径+文件名(须要有后缀) //process.StartInfo.FileName = NewFileName; ////此为症结部份。设置历程运转参数,此时为最大化窗口显现图片。 //process.StartInfo.Arguments = "rundll32.exe C://WINDOWS//system32//shimgvw.dll,ImageView_Fullscreen"; //// 此项为是不是运用Shell实行顺序,因体系默以为true,此项也可不设,但若设置必需为true //process.StartInfo.UseShellExecute = true; #endregion try { process.Start(); try { // process.WaitForExit(); } catch (Exception ex) { throw ex; } } catch (Exception ex) { throw ex; } finally { try { if (process != null) { process.Close(); process = null; } } catch { } } }
本日,测试的时刻,不知道谁在
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组件启动可实行文件。
以上就是C# 翻开指定途径下文件的内容,更多相关内容请关注ki4网(www.ki4.cn)!