最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2016年03月17日 17:11:52   投稿:goldensun  
這篇文章主要介紹了Windows中C#啟動(dòng)外部程序進(jìn)程的方法,例子中同時(shí)包括了進(jìn)程關(guān)閉的方法,需要的朋友可以參考下

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

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

  使用C#提供的Process類來啟動(dòng)外部程序方法比較簡(jiǎn)單,例舉代碼如下:

using System.Diagnostics; // 包含了Process類的定義

int myprocessID;  // 進(jìn)程ID

// 方法一:直接使用.Net提供的Process類來實(shí)現(xiàn)外部程序的啟動(dòng)
private void openButton_Click(object sender, EventArgs e)
{
  Process myProcess = Process.Start('\\NandFlash\\SerialTST.exe', ''); // 啟動(dòng)外部進(jìn)程
  myprocessID = myProcess.Id; // 獲得該外部進(jìn)程ID
}

  使用傳統(tǒng)的Win32 API函數(shù)的方法相對(duì)復(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)外部程序的啟動(dòng)

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)程
}

相關(guān)文章

  • c# 適配器模式

    c# 適配器模式

    適配器模式:將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另一個(gè)接口,Adapter使原本由于接口不兼容而不能一起工作的那些類可以一起工作
    2012-10-10
  • 利用WinForm實(shí)現(xiàn)上左右布局的方法詳解

    利用WinForm實(shí)現(xiàn)上左右布局的方法詳解

    現(xiàn)在90%的管理系統(tǒng)都是在用上左右這種布局方式,真可謂是經(jīng)典永流傳。本文將利用WinForm實(shí)現(xiàn)上左右布局這一布局效果,感興趣的可以學(xué)習(xí)一下
    2022-09-09
  • C#使用Log4.net記錄日志文件

    C#使用Log4.net記錄日志文件

    這篇文章介紹了C#使用Log4.net記錄日志文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#利用iTextSharp組件給PDF文檔添加圖片/文字水印

    C#利用iTextSharp組件給PDF文檔添加圖片/文字水印

    這篇文章主要給大家介紹了關(guān)于如何C#利用iTextSharp組件給PDF文檔添加圖片/文字水印的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • C# XML文件操作之相機(jī)參數(shù)保存和讀取

    C# XML文件操作之相機(jī)參數(shù)保存和讀取

    XML是可擴(kuò)展標(biāo)記語言是一種數(shù)據(jù)語言,它將數(shù)據(jù)以一種簡(jiǎn)單的文本格式存儲(chǔ),可以被人類和幾乎任何計(jì)算機(jī)理解。本文將利用C#實(shí)現(xiàn)相機(jī)參數(shù)讀取并保存至XML文件,感興趣的可以學(xué)習(xí)一下
    2022-11-11
  • Unity中Instantiate實(shí)例化物體卡頓問題的解決

    Unity中Instantiate實(shí)例化物體卡頓問題的解決

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)離線計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • C#開發(fā)中的垃圾回收機(jī)制簡(jiǎn)析

    C#開發(fā)中的垃圾回收機(jī)制簡(jiǎn)析

    這篇文章主要為大家詳細(xì)介紹了C#開發(fā)中的垃圾回收機(jī)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-10-10
  • c# AcceptEx與完成端口(IOCP)結(jié)合的示例

    c# AcceptEx與完成端口(IOCP)結(jié)合的示例

    這篇文章主要介紹了c# AcceptEx與完成端口(IOCP)結(jié)合的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C# 忽略大小寫進(jìn)行字符串比較

    C# 忽略大小寫進(jìn)行字符串比較

    這篇文章主要介紹了C# 字符串比較忽略大小寫的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-02-02
  • 解決C# winForm自定義鼠標(biāo)樣式的兩種實(shí)現(xiàn)方法詳解

    解決C# winForm自定義鼠標(biāo)樣式的兩種實(shí)現(xiàn)方法詳解

    本篇文章是對(duì)在C#中winForm自定義鼠標(biāo)樣式的兩種實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評(píng)論

元氏县| 米林县| 乐平市| 米易县| 禄丰县| 滕州市| 清苑县| 寻甸| 合作市| 汉寿县| 丹寨县| 镇坪县| 清流县| 南平市| 水城县| 蓬安县| 海丰县| 恭城| 庆阳市| 泗洪县| 建水县| 马龙县| 依安县| 北流市| 阿尔山市| 郯城县| 泸定县| 桂东县| 包头市| 股票| 许昌市| 三台县| 镇安县| 余庆县| 海阳市| 绥江县| 平阴县| 乐亭县| 宁南县| 本溪市| 湖南省|