public partial class App : Application
{
public App()
{
//不一定要是在Startup时,请选择适合自己应用程序的合理时间
Startup += AppStartup;
}
void AppStartup(object sender, StartupEventArgs e)
{
bool createNew;
var mutex = new Mutex(true, "TheIdOfThisMutex", out createNew);
if (!createNew)
{
MessageBox.Show("another instance is running");
//记得在关闭程序前关闭mutex,否则进程有可能不退出
mutex.Close();
//不一定要调用Shutdown方法,请选择适合自己应用程序的退出方式
Shutdown();
}
else
{
//记得正常退出程序是关闭mutex
Exit += delegate{ mutex.Close(); };
}
}
}
让应用程序单例方式运行
精选 转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
[linux手机平台]让应用程序单实例运行
。当应用程序已经在运行,再次运行该应用程序时,通常只是把该应用程序的窗口提到前面来,把新的命令行参数传递给第一
手机 linux 平台 文件管理器 服务器 -
Qt 实现应用程序单实例运行
要用到Qt的QLocalSocket,QLocalServer类,这两个类从接口上看和网络通信socket没有区别,但是它并不是真正的网络API,只是模仿了而已
qt 开发语言 #include Qt Memory -
MFC---单文档应用程序框架(MFC应用程序框架)
在VS2010的使用介绍中已经讲了解决方案与工程的概念,这里再重提一下。每个应用程序都作为一个工程来处理,它包含了头
mfc c++ 应用程序 解决方案 单文档 -
QT中实现应用程序的单例化
一介绍 通过编写一个QSingleApplication类,来实现Qt程序的单例化,的作者是在Windows Vista + Qt4.4 下实现的,不过应用在其他平台上是没问题的。
#include #ifndef #endif #define php