首页 > 系统服务 > 详细

获取当前进程,查看是否启动

时间:2020-05-15 12:11:49      阅读:44      评论:0      收藏:0      [点我收藏+]
private static Process RunningInstance()
        {
            Process current = Process.GetCurrentProcess();
            Process[] processes = Process.GetProcessesByName(current.ProcessName);
            //遍历与当前进程名称相同的进程列表 
            foreach (Process process in processes)
            {
                //如果实例已经存在则忽略当前进程 
                if (process.Id != current.Id)
                {
                    //保证要打开的进程同已经存在的进程来自同一文件路径
                    if (Assembly.GetExecutingAssembly().Location.Replace("/", @"\") == current.MainModule.FileName)
                    {
                        //返回已经存在的进程
                        return process;
                    }
                }
            }
            return null;
        }

[DllImport("User32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);

//3.已经有了就把它激活,并将其窗口放置最前端
        private static void HandleRunningInstance(Process instance)
        {
            MessageHelper.ShowTips("当前程序已经被打开,无法重复打开!");
            SetForegroundWindow(instance.MainWindowHandle); //尝试将窗口放置最前端
        }

 

获取当前进程,查看是否启动

原文:https://www.cnblogs.com/baimy/p/12893746.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!