以对话框程序Demo为例:1、在CDemoApp类中添加成员变量: HANDLE m_hMutex;2、重载CWinApp::InitInstance 和 CWinApp::ExitInstance,代码如下:BOOL CDemoApp::InitInstance(){//创建互斥量m_hMutex = ::CreateMutexW(NULL,FALSE,_T("Demo"));//判断互斥量是否存在if(GetLastError() == ERROR_ALREADY_EXISTS){AfxMessageBox(_T("应用程序已经运行!"));return false;}else{AfxMessageBox(_T("应用程序第一次运行"));}//.....return FALSE ;}int CDemoApp::ExitInstance() { // TODO: 在此添加专用代码和/或调用基类 if(m_hMutex != NULL) { CloseHandle(m_hMutex); //关闭句柄 } return CWinApp::ExitInstance(); }
让MFC程序只运行一个实例
最新推荐文章于 2023-04-14 11:22:58 发布