閱讀719 返回首頁    go 小米 go 小米5


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 能夠重定向輸入流、輸出流和錯誤流。否則不行。
        使用操作係統外殼程序啟動進程時,可以使用 Process 組件啟動任何文檔(可以是與可執行文件關聯的、具有默認打開操作的任何注冊文件類型),並對該文件執行操作(如打印)。如果 UseShellExecute 為 false,則隻能使用 Process組件啟動可執行文件。







最後更新:2017-04-03 12:55:32

  上一篇:go android隱藏底部虛擬鍵Navigation Bar實現全屏
  下一篇:go N的階乘-jobdu-1076