MFC只运行一个实例
2016-01-17 15:06
399 查看
本文参考
http://blog.163.com/ymkigeg@yeah/blog/static/82395301201310211554172/?latestBlog
http://www.cnblogs.com/likebeta/archive/2011/07/01/2095590.html
1、在InitInstance的开始
2、在ExitInstance中
if (m_hMutex != NULL)
{
CloseHandle(m_hMutex); //关闭互斥量句柄
}
http://blog.163.com/ymkigeg@yeah/blog/static/82395301201310211554172/?latestBlog
http://www.cnblogs.com/likebeta/archive/2011/07/01/2095590.html
1、在InitInstance的开始
m_hMutex = ::CreateMutexW(NULL, FALSE, LPCWSTR("STM32_Upgrade"));//这是成员变量 //判断互斥量是否存在 if(GetLastError() == ERROR_ALREADY_EXISTS) { //AfxMessageBox(_T("应用程序已经运行!")); //查找这个窗口,注意,这个变量窗口运行起来的标题! //修改对话框标题之后也要修改这个才会激活前一个实例 HWND hWnd = FindWindow(NULL, TEXT("Firmware Update")); if (IsWindow(hWnd)) { //::MessageBox(NULL, TEXT("已经有一个实例在运行了。"), TEXT("注意"), MB_OK); ::ShowWindow(hWnd, SW_NORMAL); // 显示 ::SetForegroundWindow(hWnd); // 激活 return FALSE; } return FALSE; }
2、在ExitInstance中
if (m_hMutex != NULL)
{
CloseHandle(m_hMutex); //关闭互斥量句柄
}
相关文章推荐
- css中的display属性
- iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)
- MySQL主从同步
- 浅析Java中CountDownLatch用法
- CodeForces 584D Dima and Lisa
- JavaWeb_SpringMVC和titles的简单整合
- Mac OS下安装配置Scala
- Eclipse下Preferences解析
- sql语句中case-when用法
- zookeeper原理(转)
- 2016.01.17—-即便没有读者,你也要写博客
- 对《Netty权威指南》中的Http+xml协议栈开发的个人再整理
- 请教一个pip install 出现报asciii码错误的问题
- 【WC2002】奶牛浴场
- Android中下拉刷新和加载更多的实现方式
- hadoop基础:第三部分 分布式文件系统
- UVA 18451 阅读题
- HDU4452Running Rabbits(模拟)
- ejb injection
- 注册时手机验证用户