• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 得到系統進程和結束某個指定的進程

    發表于:2007-05-25來源:作者:點擊數: 標簽:系統得到某個定的結束
    看到這篇文章,關閉指定的IE實例: http://www.c-sharpcorner.com/Code/2002/Mar/CaptRunIEInstances.asp 自己想了另一個辦法來作 先修改注冊表: HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Service\\PerfProc\\Performance 下的:Disable Performanc
    看到這篇文章,關閉指定的IE實例:
    http://www.c-sharpcorner.com/Code/2002/Mar/CaptRunIEInstances.asp

    自己想了另一個辦法來作

    先修改注冊表:
    HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Service\\PerfProc\\Performance
    下的:Disable Performance Counters 的值改為0

    得到系統當前進程,加入到listBox中:
    System.Diagnostics.Process[] processOnComputer = System.Diagnostics.Process.GetProcesses();
    foreach ( System.Diagnostics.Process p in processOnComputer )
    {
        this.listBox1.Items.Add(p.ProcessName);
    }

    關閉某個指定的進程:
    System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName(this.listBox1.SelectedItem.ToString());
       
    foreach ( System.Diagnostics.Process p in process)
    {
        p.Kill();
    }

    但是這樣會關閉進程的所有實例,比如如果你打開了多個IE,會把所有的IE窗口都關閉。

    下面實現關閉某個特定的IE實例
    先聲明一個ArrayList:
    ArrayList windowHandle = new ArrayList();

    得到指定進程的所有實例,放到一個ListBox中,同時把主窗口的Handle放到ArrayList中:
    System.Diagnostics.Process[] processOnComputer = System.Diagnostics.Process.GetProcessesByName(this.listBox1.SelectedItem.ToString());
       foreach ( System.Diagnostics.Process p in processOnComputer )
       {
        this.listBox2.Items.Add(p.MainWindowTitle);//在ListBox中顯示主窗體的標題
        windowHandle.Add(p.MainWindowHandle);
    }

    把指定的進程的主窗口的Handle和ArrayList中的比對,如果符合就關閉  
    System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName(this.listBox1.SelectedItem.ToString());
       foreach ( System.Diagnostics.Process p in process )
       {
        if ( p.MainWindowHandle == (System.IntPtr)(windowHandle[this.listBox2.SelectedIndex]))
        {
         p.Kill();
         this.listBox2.Items.RemoveAt(this.listBox2.SelectedIndex);
        }
       }
      
    這樣可以關閉有主窗體的進程,但是沒有主窗體的還不行
    還請大家多多指教

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>