国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

淺析C# 使用Process調(diào)用外部程序中所遇到的參數(shù)問(wèn)題

2020-01-24 00:43:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在使用Process.Start 調(diào)用外部程序時(shí),除了程序的地址之外,是可以傳遞參數(shù)的,Process.Start 也有多個(gè)重載;

//    // 摘要:    //   啟動(dòng)由包含進(jìn)程啟動(dòng)信息(例如,要啟動(dòng)的進(jìn)程的文件名)的參數(shù)指定的進(jìn)程資源,并將該資源與新的 System.Diagnostics.Process    //   組件關(guān)聯(lián)。    //    // 參數(shù):    //  startInfo:    //   System.Diagnostics.ProcessStartInfo,包含用于啟動(dòng)進(jìn)程的信息(包括文件名和任何命令行參數(shù))。    //    // 返回結(jié)果:    //   與進(jìn)程資源關(guān)聯(lián)的新的 System.Diagnostics.Process 組件,或者如果沒(méi)有啟動(dòng)進(jìn)程資源(例如,如果重用了現(xiàn)有進(jìn)程),則為 null。    //    // 異常:    //  System.InvalidOperationException:    //   在 startInfo 參數(shù)的 System.Diagnostics.ProcessStartInfo.FileName 屬性中未指定任何文件名。-    //   或 - startInfo 參數(shù)的 System.Diagnostics.ProcessStartInfo.UseShellExecute 屬性為    //   true,而 System.Diagnostics.ProcessStartInfo.RedirectStandardInput、System.Diagnostics.ProcessStartInfo.RedirectStandardOutput    //   或 System.Diagnostics.ProcessStartInfo.RedirectStandardError 屬性也為 true。- 或    //   -startInfo 參數(shù)的 System.Diagnostics.ProcessStartInfo.UseShellExecute 屬性為 true,而    //   System.Diagnostics.ProcessStartInfo.UserName 屬性不為 null 或空,或者 System.Diagnostics.ProcessStartInfo.Password    //   屬性不為 null。    //    //  System.ArgumentNullException:    //   startInfo 參數(shù)為 null。    //    //  System.ComponentModel.Win32Exception:    //   打開(kāi)關(guān)聯(lián)的文件時(shí)發(fā)生了錯(cuò)誤。    //    //  System.ObjectDisposedException:    //   該進(jìn)程對(duì)象已被釋放。    public static Process Start(ProcessStartInfo startInfo);    //    // 摘要:    //   通過(guò)指定文檔或應(yīng)用程序文件的名稱來(lái)啟動(dòng)進(jìn)程資源,并將資源與新的 System.Diagnostics.Process 組件關(guān)聯(lián)。    //    // 參數(shù):    //  fileName:    //   要在進(jìn)程中運(yùn)行的文檔或應(yīng)用程序文件的名稱。    //    // 返回結(jié)果:    //   與進(jìn)程資源關(guān)聯(lián)的新的 System.Diagnostics.Process 組件,或者如果沒(méi)有啟動(dòng)進(jìn)程資源(例如,如果重用了現(xiàn)有進(jìn)程),則為 null。    //    // 異常:    //  System.ComponentModel.Win32Exception:    //   打開(kāi)關(guān)聯(lián)的文件時(shí)發(fā)生了錯(cuò)誤。    //    //  System.ObjectDisposedException:    //   該進(jìn)程對(duì)象已被釋放。    //    //  System.IO.FileNotFoundException:    //   PATH 環(huán)境變量有包含引號(hào)的字符串。    public static Process Start(string fileName);    //    // 摘要:    //   通過(guò)指定應(yīng)用程序的名稱和一組命令行參數(shù)來(lái)啟動(dòng)一個(gè)進(jìn)程資源,并將該資源與新的 System.Diagnostics.Process 組件相關(guān)聯(lián)。    //    // 參數(shù):    //  fileName:    //   要在該進(jìn)程中運(yùn)行的應(yīng)用程序文件的名稱。    //    //  arguments:    //   啟動(dòng)該進(jìn)程時(shí)傳遞的命令行參數(shù)。    //    // 返回結(jié)果:    //   與該進(jìn)程關(guān)聯(lián)的新的 System.Diagnostics.Process 組件,或者如果沒(méi)有啟動(dòng)進(jìn)程資源(例如,如果重用了現(xiàn)有進(jìn)程),則為 null。    //    // 異常:    //  System.InvalidOperationException:    //   fileName 或 arguments 參數(shù)為 null。    //    //  System.ComponentModel.Win32Exception:    //   打開(kāi)關(guān)聯(lián)的文件時(shí)發(fā)生了錯(cuò)誤。    //    //  System.ObjectDisposedException:    //   該進(jìn)程對(duì)象已被釋放。    //    //  System.IO.FileNotFoundException:    //   PATH 環(huán)境變量有包含引號(hào)的字符串。    public static Process Start(string fileName, string arguments);    //    // 摘要:    //   通過(guò)指定應(yīng)用程序的名稱、用戶名、密碼和域來(lái)啟動(dòng)一個(gè)進(jìn)程資源,并將該資源與新的 System.Diagnostics.Process 組件關(guān)聯(lián)起來(lái)。    //    // 參數(shù):    //  fileName:    //   要在該進(jìn)程中運(yùn)行的應(yīng)用程序文件的名稱。    //    //  userName:    //   啟動(dòng)進(jìn)程時(shí)使用的用戶名。    //    //  password:    //   一個(gè) System.Security.SecureString,它包含啟動(dòng)進(jìn)程時(shí)要使用的密碼。    //    //  domain:    //   啟動(dòng)進(jìn)程時(shí)要使用的域。    //    // 返回結(jié)果:    //   與進(jìn)程資源關(guān)聯(lián)的新的 System.Diagnostics.Process 組件,或者如果沒(méi)有啟動(dòng)進(jìn)程資源(例如,如果重用了現(xiàn)有進(jìn)程),則為 null。    //    // 異常:    //  System.InvalidOperationException:    //   未指定文件名。    //    //  System.ComponentModel.Win32Exception:    //   fileName 不是可執(zhí)行 (.exe) 文件。    //    //  System.ComponentModel.Win32Exception:    //   打開(kāi)關(guān)聯(lián)的文件時(shí)發(fā)生了錯(cuò)誤。    //    //  System.ObjectDisposedException:    //   該進(jìn)程對(duì)象已被釋放。    public static Process Start(string fileName, string userName, SecureString password, string domain);    //    // 摘要:    //   通過(guò)指定應(yīng)用程序的名稱、一組命令行參數(shù)、用戶名、密碼和域來(lái)啟動(dòng)一個(gè)進(jìn)程資源,并將該資源與新的 System.Diagnostics.Process    //   組件關(guān)聯(lián)起來(lái)。    //    // 參數(shù):    //  fileName:    //   要在該進(jìn)程中運(yùn)行的應(yīng)用程序文件的名稱。    //    //  arguments:    //   啟動(dòng)該進(jìn)程時(shí)傳遞的命令行參數(shù)。    //    //  userName:    //   啟動(dòng)進(jìn)程時(shí)要使用的用戶名。    //    //  password:    //   一個(gè) System.Security.SecureString,它包含啟動(dòng)進(jìn)程時(shí)要使用的密碼。    //    //  domain:    //   啟動(dòng)進(jìn)程時(shí)要使用的域。    //    // 返回結(jié)果:    //   與進(jìn)程資源關(guān)聯(lián)的新的 System.Diagnostics.Process 組件,或者如果沒(méi)有啟動(dòng)進(jìn)程資源(例如,如果重用了現(xiàn)有進(jìn)程),則為 null。    //    // 異常:    //  System.InvalidOperationException:    //   未指定文件名。    //    //  System.ComponentModel.Win32Exception:    //   fileName 不是可執(zhí)行 (.exe) 文件。    //    //  System.ComponentModel.Win32Exception:    //   打開(kāi)關(guān)聯(lián)的文件時(shí)發(fā)生了錯(cuò)誤。    //    //  System.ObjectDisposedException:    //   該進(jìn)程對(duì)象已被釋放。    public static Process Start(string fileName, string arguments, string userName, SecureString password, string domain);

其中的arguments 參數(shù), 是有個(gè)空格的問(wèn)題的, 在外部程序接收參數(shù)的 (Winform) 是用過(guò)Main(string[] args) 。 其中args是數(shù)組 , 在StartInfo.Arguments中的參數(shù)的間隔是根據(jù)空格進(jìn)行分?jǐn)嗟摹?所以如果在傳遞的參數(shù)中是空格的,就需要 在  參數(shù)前后追加 “/"”  即:

string argument1 = "/"" + argv1 + "/"";   string argument2 = "/"" + argv2 + "/"";   Process process = new Process();   process.StartInfo.FileName = System.Environment.CurrentDirectory + "http://test.exe";   process.StartInfo.Arguments = argument1 + " " + argument2;   process.StartInfo.UseShellExecute = true; ;   //啟動(dòng)   process.Start();

ok, 這樣就能解決Process 傳遞參數(shù)的有空格的問(wèn)題了。

以上所述是小編給大家介紹的C# 使用Process調(diào)用外部程序中所遇到的參數(shù)問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 赣榆县| 五华县| 金阳县| 泌阳县| 赞皇县| 名山县| 金湖县| 洪湖市| 乃东县| 玛曲县| 泗阳县| 海口市| 玛多县| 英山县| 怀化市| 安乡县| 增城市| 洪泽县| 拜城县| 会理县| 安阳县| 凌源市| 西平县| 桃园市| 鹿泉市| 漯河市| 勐海县| 当阳市| 凤山市| 韶关市| 江达县| 南召县| 鹤山市| 成武县| 蒙山县| 平利县| 日喀则市| 罗山县| 金湖县| 西吉县| 柘城县|