Heim > Artikel > Backend-Entwicklung > C# Öffnen Sie die Datei unter dem angegebenen Pfad
C# Öffnen Sie die Datei unter dem angegebenen Pfad
/// <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 { } } }
Heute, während des Tests, weiß ich nicht, wer diesen Satz nach dem Satz
process.StartInfo = processStartInfo;
hinzugefügt hat:
process.StartInfo.UseShellExecute = false;
Ich habe zuerst nicht aufgepasst und dann immer wieder folgenden Fehler gemeldet:
The specified executable is not a validapplication for this OS platform.
Erklärung:
ProcessStartInfo.UseShellExecute Property: Get oder legen Sie einen Wert fest, der angibt, ob die Betriebssystem-Shell zum Starten des Prozesses verwendet werden soll.
Attributwert:
True, wenn Sie beim Starten des Prozesses eine Shell verwenden möchten, andernfalls erstellen Sie den Prozess direkt aus der ausführbaren Datei. Der Standardwert ist „true“. Wenn Sie die Eigenschaft auf „false“ setzen, werden Eingabe-, Ausgabe- und Fehlerströme umgeleitet. Sonst wird es nicht funktionieren.
Wenn Sie die Betriebssystem-Shell verwenden, um einen Prozess zu starten, können Sie die Prozesskomponente verwenden, um jedes Dokument zu starten (bei dem es sich um jeden registrierten Dateityp handeln kann, der mit einer ausführbaren Datei mit einer standardmäßigen Öffnungsaktion verknüpft ist) und Vorgänge für die Datei auszuführen (z. B. Drucken). Wenn UseShellExecute „false“ ist, kann die ausführbare Datei nur mit der Process-Komponente gestartet werden.
Das Obige ist der Inhalt von C#, der die Datei unter dem angegebenen Pfad öffnet. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).