var a = System.Diagnostics.Process.GetProcessesByName("QQEIM");
bool b;
foreach (var p in a)
{
b= p.HasExited; //bool类型,获取指示关联进程是否已终止的值
if (b==true)
{
MessageBox.Show("打开");
}
else
{
MessageBox.Show("关闭");
}
}
var a = System.Diagnostics.Process.GetProcessesByName("QQPlayer"); if (a.Length > 0) { bool b; foreach (var s in a.Cast<Process>()) { b = !s.HasExited; //指示关联进程未终止 if (b == true) { Console.WriteLine("进程正在运行"); } else { Console.WriteLine("进程未运行"); } } } else { Console.WriteLine("该进程不存在"); }
呵呵,谢谢呢!那要是给多个指定进程的话是不是要声明个集合呢?
@木木学习: 不需要那么麻烦,可以直接把几个你要的进程放到数组里,之后遍历传给GetProcessesByName函数就行了。
@谢舸哥: 那要声明个数组落?可不可以演示给我看一下下呢。。。。。
@木木学习:
class Program { static void Main(string[] args) { string[] procName = { "QQ", "QQPlayer", "QQ游戏大厅" }; GetProByName(procName); Console.ReadKey(); } public static void GetProByName(string[] arr) { foreach (string pro in arr) { var a = System.Diagnostics.Process.GetProcessesByName(pro); if (a.Length > 0) { bool b; foreach (var s in a.Cast<Process>()) { b = !s.HasExited; //指示关联进程未终止 if (b == true) { Console.WriteLine(pro + "正在运行"); } } } else { Console.WriteLine(pro + "进程不存在"); } } } }
@谢舸哥: 我好崇拜你额!!!!呜呜,你怎么可以那么牛啊........
是否已终止,? 反回true的话是终止了,反回false是未终止,你刚刚好搞反了。
哦,哦!是这样的额,呵呵,谢谢呢!!!