网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
得到系统进程和结束某个指定的进程
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

看到这篇文章,关闭指定的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);
    }
   }
  
这样可以关闭有主窗体的进程,但是没有主窗体的还不行
还请大家多多指教

  • 上一篇资讯: C#处理鼠标和键盘事件
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号