C#中如何判断系统中程序在运行?

C#中如何判断系统中程序在运行?比如我打开一个我写的程序,不是从VS中打开,是从debug下打开,再打开一个相同的程序,现在就有两个程序在运行,甚至打开更多的!比如这样的... C#中如何判断系统中程序在运行?
比如我打开一个我写的程序,不是从VS中打开,是从debug下打开,再打开一个相同的程序,现在就有两个程序在运行,甚至打开更多的!比如这样的!

如何让打开一个程序后,判断下,如果在打开程序已经在运行了就不允许再打开第二个相同的程序?
展开
 我来答
百度网友1b491e1
2012-06-02 · TA获得超过1036个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:534万
展开全部
使用互斥对象即可

class Test

{

/// <summary>

/// 应用程式的主入口点。

/// </summary>

[STAThread]

static void Main(string[] args)

{

bool flag=false;

System.Threading.Mutex mutex=new System.Threading.Mutex(true,"Test",out flag);

//第一个参数:true--给调用执行绪赋予互斥体的初始所属权

//第一个参数:互斥体的名称

//第三个参数:返回值,如果调用执行绪已被授予互斥体的初始所属权,则返回true

if(flag)

{

Console.Write("Running");

}

else

{

Console.Write("Another is Running");

System.Threading.Thread.Sleep(5000);//执行绪挂起5秒钟

//请勿使用this.close(); 会有错误发生

Environment.Exit(1);//退出程式

}

Console.ReadLine();

}

运行结果:
第一次运行,输出"Running"。
不关闭第一次运行的程式, 进行第二次运行,输出"Another is Running",五秒钟後,程式自动退出。
追问
已经解决了!我写的也是互诉不过是判断下就行了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjinbd
2012-06-02 · TA获得超过8686个赞
知道大有可为答主
回答量:1536
采纳率:100%
帮助的人:1983万
展开全部
设计模式中有个单件模式,就是专门用于解决你这个问题的
http://baike.baidu.com/view/3745751.htm 这里有一个用c#编写的程序,你仔细看看能满足你的需求

写的时候只要保证你的 Main所在类 是一个单件就ok了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
727617686
2012-06-02 · TA获得超过712个赞
知道小有建树答主
回答量:560
采纳率:0%
帮助的人:303万
展开全部
先查询进程列表,看是否存在你要运行的程序,
if (true){
不启动
}else{
application.run(new xxx())
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang735249037
2012-06-02 · TA获得超过260个赞
知道小有建树答主
回答量:415
采纳率:100%
帮助的人:246万
展开全部
你可以检测一下,在进程里判断一下那个程序或者进程是否存在,如果存在不运行就好了
追问
我问的就是如何去检测现在进程中那些程序在运行?
不过我用互诉解决了这个问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式