c#中怎样判断一个程序是否正在运行?

我写了两个程序,其中程序2想判断程序1是否正在运行(这两个程序没有任何联系)谢谢啊... 我写了两个程序,其中程序2想判断程序1是否正在运行(这两个程序没有任何联系) 谢谢啊 展开
 我来答
大野瘦子
高粉答主

2019-10-16 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.1万
展开全部

判断代码如下:

 string name = "进程名";

            if (GetPidByProcessName(name) == 0)

            {

                MessageBox.Show("程序未运行");

                return;

            }             

        public static int GetPidByProcessName(string processName)

        {

            Process[] arrayProcess = Process.GetProcessesByName(processName); 

            foreach (Process p in arrayProcess)

            {

                return p.Id;

            }

            return 0;

        }

扩展资料:

注意事项

/获取欲启动进程名 

            string strProcessName;

            strProcessName = System.Diagnostics.Process.GetCurrentProcess().ProcessName;     

            //检查进程是否已经启动,已经启动则退出程序。 

            if (System.Diagnostics.Process.GetProcessesByName(strProcessName).Length > 1)

            {

                Application.Exit();

                return;

            }

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);            

            Application.Run(new  frmMainPlatform());

百度网友ce9f999
推荐于2017-10-22 · TA获得超过406个赞
知道小有建树答主
回答量:540
采纳率:100%
帮助的人:543万
展开全部

楼上的回答也对,但是循环不必要

if (System.Diagnostics.Process.GetProcessesByName("要获取的程序在进程中的名称").ToList().Count > 0)
{
               //存在
}
 else
 {
  //不存在
 }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4dae72d
2017-10-22 · TA获得超过2448个赞
知道小有建树答主
回答量:1.1万
采纳率:35%
帮助的人:856万
展开全部
判断进程是否存在
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongfei357
2013-06-05 · TA获得超过285个赞
知道小有建树答主
回答量:384
采纳率:100%
帮助的人:213万
展开全部
判断进程是否存在
更多追问追答
追问
朋友 能写一下代码吗  我这方面不怎么会 谢谢
追答
            string name = "进程名";
            if (GetPidByProcessName(name) == 0)
            {
                MessageBox.Show("程序未运行");
                return;
            }
            
        public static int GetPidByProcessName(string processName)
        {
            Process[] arrayProcess = Process.GetProcessesByName(processName);

            foreach (Process p in arrayProcess)
            {
                return p.Id;
            }
            return 0;
        }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
king炬
2013-06-05 · TA获得超过297个赞
知道小有建树答主
回答量:563
采纳率:0%
帮助的人:326万
展开全部
这个肯定要设计到线程了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式