C# MVVM灯和一个应用程序实例

C# MVVM灯和一个应用程序实例,c#,wpf,singleton,mvvm-light,C#,Wpf,Singleton,Mvvm Light,我正在使用MVVM Light开发一个WPF应用程序 我想知道如何检查和防止用户运行多个应用程序实例 谢谢你的帮助 Romain您可以在应用程序启动时检查正在运行的进程,并在副本已存在时退出: var appProcessName = Process.GetCurrentProcess().ProcessName; var matchingProcesses = Process.GetProcessesByName(appProcessName); if (matchingProcesses.A

我正在使用MVVM Light开发一个WPF应用程序

我想知道如何检查和防止用户运行多个应用程序实例

谢谢你的帮助


Romain

您可以在应用程序启动时检查正在运行的进程,并在副本已存在时退出:

var appProcessName = Process.GetCurrentProcess().ProcessName;
var matchingProcesses = Process.GetProcessesByName(appProcessName);
if (matchingProcesses.Any())
{
    // Exit
}

我认为您正在寻找的是单实例互斥。谷歌有很多结果,但我最近在一个Windows窗体应用程序中使用了这个线程中的一个


Arik Poznanski在他的博客上写了一篇关于这个主题的文章

这里是第一个链接


这是到

的链接是的,我以前在谷歌上搜索过,但没有找到任何与MVVM light相关的结果。实际上,我想知道在哪里放置代码来检查实例。在App.xaml.cs中?在MainViewModel.cs中?啊,我对mvvm没有任何经验。抱歉:(你知道怎么做了吗?应用程序启动事件是在普通WPF场景中为单个实例应用程序放置互斥锁的正确位置,但该事件不起作用。