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

C#獲取進(jìn)程和對進(jìn)程的操作

 更新時間:2013年04月23日 12:04:07   投稿:shangke  
下面是一個例子:獲取進(jìn)程列表、創(chuàng)建“違禁”進(jìn)程名單、查找并終止進(jìn)程,注意先要在項目里添加System.Management的引用

最近看到一個考試系統(tǒng),有個功能是用來監(jiān)視進(jìn)程的。一旦發(fā)現(xiàn)如Communicator.exe這樣的違禁軟件就立即終止進(jìn)程并上報給服務(wù)器。我稍 微研究了一下,這個功能實現(xiàn)起來其實很簡單。就是使用ManagementObjectSearcher獲取進(jìn)程列表,然后放在一個Collection 里,之后就可以按照自己的邏輯去做了。

復(fù)制代碼 代碼如下:

using System;
using System.Management;

namespace ConsoleApplication3
{
   
    class Program
    {
        static void Main(string[] args)
        {
            // Show Process List
            Console.WriteLine("===========Process List===========");
            ManagementObjectCollection objects = new ManagementObjectSearcher("SELECT * FROM Win32_Process").Get();
            foreach (ManagementObject item in objects)
            {
                Console.WriteLine((item["Name"].ToString()));
            }

            // Create Ban List
            Console.WriteLine("===========Ban List===========");
            string lst = "Communicator.exe,POWERPNT.exe,notepad.exe";
            string[] bannedProc = lst.Split(‘,‘);
            foreach (string s in bannedProc)
            {
                Console.WriteLine(s);
            }

            // Search and Destroy
            Console.WriteLine("===========Search and Destroy===========");
            Console.WriteLine("Searching for banned process...");
            int count = 0;
            foreach (string item in bannedProc)
            {
                if (DetectProcess(item))
                {
                    count++;
                    Console.WriteLine("Process [{0}] Detected!", item);
                    Console.WriteLine("[{0}] was killed {1}.", item, KillProcess(item) ? "Successfully" : "Unsucessfully");
                }
            }
            Console.WriteLine("Done, {0} banned process found", count);
        }

        protected static bool DetectProcess(string pProcessName)
        {
            ManagementObjectCollection objects = new ManagementObjectSearcher("SELECT * FROM Win32_Process").Get();
            foreach (ManagementObject item in objects)
            {
                string str = item["Name"].ToString();
                if (str.Trim().ToUpper() == pProcessName.Trim().ToUpper())
                {
                    return true;
                }
            }
            return false;
        }

        public static bool KillProcess(string pProcessName)
        {
            ManagementObjectCollection objects = new ManagementObjectSearcher("SELECT * FROM Win32_Process").Get();
            foreach (ManagementObject item in objects)
            {
                string str = item["Name"].ToString();
                if (str.Trim().ToUpper() == pProcessName.Trim().ToUpper())
                {
                    string[] args = new string[] { "0" };
                    item.InvokeMethod("Terminate", args);
                    return true;
                }
            }
            return false;
        }
    }
}


效果如下:

相關(guān)文章

  • 淺談c#中config.exe 引發(fā)的一些問題

    淺談c#中config.exe 引發(fā)的一些問題

    下面小編就為大家分享一篇淺談c#中config.exe 引發(fā)的一些問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • WPF TextBox和PasswordBox添加水印

    WPF TextBox和PasswordBox添加水印

    這篇文章主要為大家詳細(xì)介紹了WPF TextBox和PasswordBox添加水印的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • c#在excel中添加超鏈接示例分享

    c#在excel中添加超鏈接示例分享

    c#在excel中添加超鏈接示例分享,大家參考使用吧
    2013-12-12
  • C#使用FtpWebRequest與FtpWebResponse完成FTP操作

    C#使用FtpWebRequest與FtpWebResponse完成FTP操作

    這篇文章介紹了C#使用FtpWebRequest與FtpWebResponse完成FTP操作的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 如何在C#項目中鏈接一個文件夾下的所有文件詳解

    如何在C#項目中鏈接一個文件夾下的所有文件詳解

    很多時候我們需要獲取一個結(jié)構(gòu)未知的文件夾下所有的文件或是指定類型的所有文件,下面這篇文章主要給大家介紹了關(guān)于如何在C#項目中鏈接一個文件夾下的所有文件,需要的朋友可以參考下
    2023-02-02
  • C#圖像處理之木刻效果實現(xiàn)方法

    C#圖像處理之木刻效果實現(xiàn)方法

    這篇文章主要介紹了C#圖像處理之木刻效果實現(xiàn)方法,可實現(xiàn)類似木刻效果的黑白照效果,需要的朋友可以參考下
    2015-04-04
  • C#中接口(Interface)的深入詳解

    C#中接口(Interface)的深入詳解

    這篇文章主要給大家介紹了關(guān)于C#中接口(Interface)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • c#實現(xiàn)md5加密示例

    c#實現(xiàn)md5加密示例

    這篇文章主要介紹了md5加密,加密結(jié)果可以為32位、48位、64位,只要修改一下參數(shù)就可以實現(xiàn)
    2014-01-01
  • Unity中的PostProcessBuild實用案例深入解析

    Unity中的PostProcessBuild實用案例深入解析

    這篇文章主要為大家介紹了Unity中的PostProcessBuild實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • C#中的var關(guān)鍵字用法介紹

    C#中的var關(guān)鍵字用法介紹

    這篇文章介紹了C#中的var關(guān)鍵字用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08

最新評論

六安市| 左贡县| 来宾市| 尉犁县| 文昌市| 平塘县| 龙陵县| 聂拉木县| 攀枝花市| 阿图什市| 扶风县| 靖远县| 烟台市| 闽清县| 枣阳市| 卫辉市| 乌海市| 神池县| 定安县| 松江区| 玉溪市| 高邮市| 武安市| 金昌市| 泗阳县| 手游| 延安市| 湖州市| 崇州市| 疏勒县| 鱼台县| 海兴县| 武汉市| 嫩江县| 古丈县| 渭源县| 万全县| 河西区| 油尖旺区| 宿州市| 黎城县|