C#实现只允许一个实例运行

string AppName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
Process[] processes = System.Diagnostics.Process.GetProcessesByName(AppName);
int pid = Process.GetCurrentProcess().Id;
for (int i = 0; i < processes.Length; i++)
{
    if (pid != processes[i].Id && processes[i].MainModule.FileName == Assembly.GetExecutingAssembly().Location)
    {
        DebugOutput.ProcessMessage(String.Format("[INFO] 应用程序已经在运行中。"));
        Thread.Sleep(100);
        System.Environment.Exit(1);
        return;
    }
}
posted @   qiutian-hao  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示