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

首頁 > 編程 > C# > 正文

簡單掌握Windows中C#啟動外部程序進(jìn)程的方法

2019-10-29 21:30:49
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Windows中C#啟動外部程序進(jìn)程的方法,例子中同時包括了進(jìn)程關(guān)閉的方法,需要的朋友可以參考下
 

許多用戶在程序開發(fā)過程中需要使用C#啟動一個外部程序(進(jìn)程),在使用完畢該外部程序后,又希望能將其關(guān)閉。我們特在此對C#啟動和關(guān)閉外部進(jìn)程的方法進(jìn)行一個簡單的介紹。

  C#啟動外部程序(進(jìn)程)有兩種方法:一種是直接使用C#提供的Process類,利用類的函數(shù)操作來直接啟動外部程序;另一種方法是使用傳統(tǒng)的Win32 API函數(shù)CreateProcess來實(shí)現(xiàn)外部進(jìn)程的啟動。

  使用C#提供的Process類來啟動外部程序方法比較簡單,例舉代碼如下:

using System.Diagnostics; // 包含了Process類的定義int myprocessID;  // 進(jìn)程ID// 方法一:直接使用.Net提供的Process類來實(shí)現(xiàn)外部程序的啟動private void openButton_Click(object sender, EventArgs e){  Process myProcess = Process.Start('//NandFlash//SerialTST.exe', ''); // 啟動外部進(jìn)程  myprocessID = myProcess.Id; // 獲得該外部進(jìn)程ID}  使用傳統(tǒng)的Win32 API函數(shù)的方法相對復(fù)雜,代碼如下:using System.Runtime.InteropServices;  // 使用外部Win32 API#region Win32 API CreateProcess函數(shù)聲明做函數(shù)申明。[DllImport('coredll.Dll', EntryPoint = 'CreateProcess', SetLastError = true)]extern static int CreateProcess(string strImageName, string strCmdLine,                     IntPtr pProcessAttributes, IntPtr pThreadAttributes,                       int bInheritsHandle, int dwCreationFlags,               IntPtr pEnvironment, IntPtr pCurrentDir,               IntPtr bArray, ProcessInfo oProc);public class ProcessInfo{  public int hProcess;  public int hThread;  public int ProcessID;  public int ThreadID;}#endregion

方法二:使用Win32 API來實(shí)現(xiàn)外部程序的啟動

private void openButton_Click(object sender, EventArgs e){  ProcessInfo pi = new ProcessInfo();  CreateProcess('//NandFlash//SerialTST.exe', '', IntPtr.Zero, IntPtr.Zero,           0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, pi);  myprocessID = pi.ProcessID;      // 得到該程序的ID}  關(guān)閉外部進(jìn)程的方法就是直接通過獲得的該外部進(jìn)程的ID來關(guān)閉它。這里只介紹使用.Net的Process類的方法:// 關(guān)閉外部進(jìn)程private void closeButton_Click(object sender, EventArgs e){  Process myProcessA = Process.GetProcessById(myprocessID);   // 通過ID關(guān)聯(lián)進(jìn)程  myProcessA.Kill();          // kill進(jìn)程}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁夏| 马鞍山市| 万盛区| 汉源县| 合作市| 资溪县| 社旗县| 崇信县| 辽阳县| 缙云县| 衡东县| 靖西县| 綦江县| 贵溪市| 蓬安县| 万州区| 阜平县| 三台县| 伊川县| 清原| 厦门市| 遂宁市| 夏河县| 天祝| 澎湖县| 安平县| 铁岭市| 忻城县| 航空| 宁安市| 勃利县| 临猗县| 天气| 汉中市| 大竹县| 库车县| 青河县| 孙吴县| 峨山| 温州市| 益阳市|