Home > Article > Backend Development > C# Open the file under the specified path
C# Open the file under the specified path
/// <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 { } } }
Today, during the test, I don’t know who added this sentence after the sentence
process.StartInfo = processStartInfo;
:
process.StartInfo.UseShellExecute = false;
I didn’t pay attention at first, and then kept reporting the following error:
The specified executable is not a validapplication for this OS platform.
Explanation:
ProcessStartInfo.UseShellExecute attribute: Gets or sets a value that indicates whether to use the operation The system shell starts the process.
Attribute Value:
To use the shell program when starting the process, it is TRUE; otherwise, the process of creating processes from executable files directly. Defaults to true. Setting the property to false redirects input, output, and error streams. Otherwise it won't work.
When you use the operating system shell to start a process, you can use the Process component to start any document (which can be any registered file type associated with an executable file with a default open action) and perform operations on the file (such as printing) . If UseShellExecute is false, the executable can only be launched using the Process component.
The above is the content of C# opening the file under the specified path. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!