WPF笔记9——设置应用程序单实例运行
设置WPF应用程序单实例运行
**方式1:**
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
/// <summary>
/// 程序启动
/// </summary>
/// <param name="e"></param>
protected override void OnStartup(StartupEventArgs e)
{
string currentProcessName = Process.GetCurrentProcess().ProcessName;
//获取当前的所有同名进程
var processes=Process.GetProcessesByName(currentProcessName);
if (processes.Length > 1)
{
MessageBox.Show($"{currentProcessName}已经在运行了,不能重复打开");
//关闭程序
Shutdown();
return;
}
base.OnStartup(e);
}
/// <summary>
/// 程序退出
/// </summary>
/// <param name="e"></param>
protected override void OnExit(ExitEventArgs e)
{
/* 在这里释放资源 */
base.OnExit(e);
}
}