禁止运行多个实例最简单的方法
2007-07-11 14:53
302 查看
给**App类加上一个成员变量:
HANDLE m_hMutex;
在程序应用(通常是**App)对象的初始化函数InitInstance()中加入如下代码:
m_hMutex = CreateMutex(NULL,TRUE,AfxGetAppName());
if((m_hMutex != NULL) &&(GetLastError()==ERROR_ALREADY_EXISTS))
{
ReleaseMutex(m_hMutex);
AfxMessageBox(_T("本程序已经运行"));
return FALSE;
}
我认为最好是在语句CWinApp::InitInstance();前面最好了。
最后,重写**App类的ExitInstance()虚方法加上下面的代码:
if (m_hMutex != NULL)
{
ReleaseMutex(m_hMutex);
CloseHandle(m_hMutex);
}
HANDLE m_hMutex;
在程序应用(通常是**App)对象的初始化函数InitInstance()中加入如下代码:
m_hMutex = CreateMutex(NULL,TRUE,AfxGetAppName());
if((m_hMutex != NULL) &&(GetLastError()==ERROR_ALREADY_EXISTS))
{
ReleaseMutex(m_hMutex);
AfxMessageBox(_T("本程序已经运行"));
return FALSE;
}
我认为最好是在语句CWinApp::InitInstance();前面最好了。
最后,重写**App类的ExitInstance()虚方法加上下面的代码:
if (m_hMutex != NULL)
{
ReleaseMutex(m_hMutex);
CloseHandle(m_hMutex);
}
相关文章推荐
- 简单的方法让一个应用程序只运行一个实例
- 禁止系统运行某个进程的简单方法(注册表操作)
- delphi程序只允许运行一个实例的简单方法:
- 让程序只运行一个实例的简单实用的方法
- C# 开发Windows服务 附简单实例实现禁止QQ运行
- 记录方法运行时间——基于spring的面向切面编程简单实例
- C#使用Mutex简单实现程序单实例运行的方法
- 禁止系统运行某个进程的简单方法
- C#开发Windows服务 附简单实例实现禁止QQ运行
- 单击菜单只运行一个子窗体实例的简单方法
- C#实现托盘程序并禁止多个应用实例运行的方法
- 禁止系统运行某个进程的简单方法(代码实现)
- 系统中想禁止运行某些指定软件的方法(图文教程)
- 学习笔记:JAVA RMI远程方法调用简单实例
- 让程序只运行一个实例的四种方法
- Windows下Cygwin环境的Hadoop安装(3)- 运行hadoop中的wordcount实例遇到的问题和解决方法
- Python操作Oracle数据库的简单方法和封装类实例
- Ubuntu 安装XAMPP集成环境软件包 与 运行WordPress 的简单方法
- java调用未知类的指定方法简单实例