KyleBlog.cn 文章 标签 关于
文章 标签 关于

C#判断用户是否重复打开当前应用程序

用winform写了个程序,希望防止用户重复打开该程序。那么,怎么判断用户有没有重复打开呢?

代码

原理就是,遍历当前所有进程,看是否有和自己同名的进程。

public static bool HasMultiInstance()
{
    // 获取当前所有进程
    Process[] pros = Process.GetProcesses();
    // 获取当前进程
    Process curPro = Process.GetCurrentProcess();
    // 尝试找到同名的其他进程
    foreach (Process p in pros)
    {
        if (p.ProcessName == curPro.ProcessName && p.Id != curPro.Id)
        {
            return true;
        }
    }
    return false;
}

注意,这里根据Process.ProcessName来判断两个进程是否“同名”,根据Process.Id来判断两个进程是否是同一个进程。

本文为kyleblog.cn原创,转载请注明出处:https://www.kyleblog.cn/posts/csharp_duplicated_process

发布日期:2022-09-14 联系作者