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

C#獲取本地應用進程和端口號的實現(xiàn)示例

 更新時間:2025年07月07日 09:25:59   作者:愛玩厄加特的瑞文  
本文介紹了通過C#編程調(diào)用cmd.exe執(zhí)行netstat命令獲取進程信息,包括使用參數(shù)如-a、-n和-o,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

后臺調(diào)用命令行程序,通過分析netstat命令的返回結(jié)果獲取進程信息,主要使用的參數(shù)包括-a(顯示所有連接和偵聽端口)、-n(以數(shù)字形式顯示地址和端口號)、-o(顯示擁有的與每個連接關(guān)聯(lián)的進程 ID),其實-b(顯示在創(chuàng)建每個連接或偵聽端口時涉及的可執(zhí)行程序)也可以用,但是它的返回結(jié)果沒有和前幾個參數(shù)在一行,分析起來比較麻煩,就沒有用。另外,如果是查詢端口,還可以在命令行中附帶findstr命令從netstat命令的返回結(jié)果中篩選。最終的示例代碼如下:

List<SearchedProcessInfo> searchResult=new List<SearchedProcessInfo>();
    Process pro = null;

    try
    {
        pro = new Process();
        pro.StartInfo.FileName = "cmd.exe";
        pro.StartInfo.UseShellExecute = false;
        pro.StartInfo.RedirectStandardInput = true;
        pro.StartInfo.RedirectStandardOutput = true;
        pro.StartInfo.RedirectStandardError = true;
        pro.StartInfo.CreateNoWindow = true;
        pro.Start();
        pro.StandardInput.WriteLine(String.IsNullOrWhiteSpace(txtPPort.Text)?"netstat -ano":String.Format("netstat -ano | findstr :{0}", txtPPort.Text));
        pro.StandardInput.WriteLine("exit");
        Regex reg = new Regex("\\s+", RegexOptions.Compiled);
        string line = null;
        while ((line = pro.StandardOutput.ReadLine()) != null)
        {
            line = line.Trim();

            if (!line.StartsWith("TCP") && !line.StartsWith("UDP"))
            {
                continue;
            }
            Console.WriteLine(line);

            line = line.Trim();
            SearchedProcessInfo info = new SearchedProcessInfo();
            line = reg.Replace(line, ",");
            string[] arr = line.Split(',');
            string soc = arr[1];
            int pos = soc.LastIndexOf(':');
            info.UsePort = soc.Substring(pos + 1);
            info.Protocol = arr[0];

            if (line.StartsWith("TCP"))
            {
                info.ProcessID = Convert.ToInt32(arr[4]);
                info.Status = arr[3];
            }
            else
            {
                info.ProcessID = Convert.ToInt32(arr[3]);
            }
            try
            {
                Process pTmp = Process.GetProcessById(Convert.ToInt32(info.ProcessID));
                info.ProcessName = pTmp != null ? pTmp.ProcessName : String.Empty;
            }
            catch(Exception exx)
            {
                info.ProcessName = String.Empty;
            }            
            
            searchResult.Add(info);
        }
        ...

    }
    catch (Exception exp)
    {
        MessageBox.Show(exp.Message);
    }
    finally
    {
        if(pro != null)
        {
            pro.Close();
        }
    }

到此這篇關(guān)于C#獲取本地應用進程和端口號的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)C#獲取進程和端口號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# this關(guān)鍵字的四種用法

    C# this關(guān)鍵字的四種用法

    這篇文章主要為大家詳細介紹了C# this關(guān)鍵字的四種用法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 詳談C++引用&和指針在作為形參時的區(qū)別

    詳談C++引用&和指針在作為形參時的區(qū)別

    下面小編就為大家?guī)硪黄斦凜++引用&和指針在作為形參時的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • C#判斷一個矩陣是否為對稱矩陣及反稱矩陣的方法

    C#判斷一個矩陣是否為對稱矩陣及反稱矩陣的方法

    這篇文章主要介紹了C#判斷一個矩陣是否為對稱矩陣及反稱矩陣的方法,涉及C#矩陣遍歷及檢查等相關(guān)運算技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C#使用System.Threading.Timer實現(xiàn)計時器的示例詳解

    C#使用System.Threading.Timer實現(xiàn)計時器的示例詳解

    以往一般都是用 System.Timers.Timer 來做計時器,其實 System.Threading.Timer 也可以實現(xiàn)計時器功能,下面就跟隨小編一起來學習一下如何使用System.Threading.Timer實現(xiàn)計時器功能吧
    2024-01-01
  • C#如何實現(xiàn)監(jiān)控手機屏幕(附源碼下載)

    C#如何實現(xiàn)監(jiān)控手機屏幕(附源碼下載)

    這篇文章主要介紹了C#如何實現(xiàn)監(jiān)控手機屏幕(附源碼下載),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • C#中new關(guān)鍵字的三種用法

    C#中new關(guān)鍵字的三種用法

    在C#中,new關(guān)鍵字具有多種不同的用途,主要包括以下三個:作為運算符,作為修飾符,作為泛型約束,文章通過代碼示例將這三種用法介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • C#操作本地文件及保存文件到數(shù)據(jù)庫的基本方法總結(jié)

    C#操作本地文件及保存文件到數(shù)據(jù)庫的基本方法總結(jié)

    C#使用System.IO中的文件操作方法在Windows系統(tǒng)中處理本地文件相當順手,這里我們還總結(jié)了在Oracle中保存文件的方法,嗯,接下來就來看看整理的C#操作本地文件及保存文件到數(shù)據(jù)庫的基本方法總結(jié)
    2016-05-05
  • C#給圖片加水印的簡單實現(xiàn)方法

    C#給圖片加水印的簡單實現(xiàn)方法

    這篇文章主要介紹了C#給圖片加水印的簡單實現(xiàn)方法,涉及C#操作圖片的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • 淺析c#范型中的特殊關(guān)鍵字where & default

    淺析c#范型中的特殊關(guān)鍵字where & default

    以下是對c#范型中的特殊關(guān)鍵字where和default進行了詳細的介紹,需要的朋友可以過來參考下
    2013-09-09
  • C#事件訪問器詳解

    C#事件訪問器詳解

    C#事件訪問器詳細解析。下面示例演示了具有訪問器的聲明.兩個訪問器都有叫做value的隱式值參數(shù),它接受實例或靜態(tài)方法的引用
    2014-01-01

最新評論

绥棱县| 璧山县| 禄丰县| 大英县| 江达县| 乐昌市| 罗源县| 青龙| 共和县| 贺兰县| 鸡泽县| 腾冲县| 于都县| 滕州市| 儋州市| 饶平县| 潢川县| 黎平县| 孟州市| 新乡市| 寿宁县| 乌海市| 郁南县| 阿拉善盟| 涟水县| 宜宾县| 永泰县| 西城区| 新乡市| 阿城市| 阿拉尔市| 都江堰市| 乐业县| 晋州市| 博白县| 山阴县| 澜沧| 收藏| 清涧县| 安陆市| 陇川县|