public partial class MainWindow: Window
{private static Semaphore singleInstanceWatcher;
private static bool createdNew;
public MainWindow()
{
// 确保不存在程序的其他实例
singleInstanceWatcher = new Semaphore(
0, // Initial count.
1, // Maximum count.
Assembly.GetExecutingAssembly().GetName().Name, out createdNew);
if (createdNew)
{
InitializeComponent();
//初始化方法
}
else
{
MessageBox.Show("程序已在运行中");
Environment.Exit(-2);
}
}
public void _init() {}
}
本文探讨了如何在程序启动时确保仅存在一个实例,通过使用Semaphore实现进程间互斥,避免程序冲突。
3942

被折叠的 条评论
为什么被折叠?



