ホームページ >バックエンド開発 >C#.Net チュートリアル >C# 指定したパス下のファイルを開きます
C# 指定したパス下のファイルを開きます
/// <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 に設定すると、入力、出力、およびエラー ストリームがリダイレクトされます。そうしないと機能しません。 オペレーティング システム シェルを使用してプロセスを開始する場合、プロセス コンポーネントを使用して任意のドキュメント (デフォルトのオープン アクションを持つ実行可能ファイルに関連付けられた登録済みのファイル タイプ) を開始し、ファイルに対して操作を実行できます (印刷など)。 UseShellExecute が false の場合、実行可能ファイルは Process コンポーネントを使用してのみ起動できます。
上記は、指定されたパスの下にあるファイルを開く C# の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。