工控编程吧
标题:
上位机MFC如何使应用程序只运行一个实例
[打印本页]
作者:
qq263946146
时间:
2019-8-12 10:24
标题:
上位机MFC如何使应用程序只运行一个实例
可以通过互斥对象来判断是否已有程序整合运行。例如我们准备一个互斥对象变量,程序初始化创建
//创建互斥量
m_hMutex = ::CreateMutex(NULL, FALSE, _T("DemoApp"));
//判断互斥量是否存在
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
AfxMessageBox("应用程序已经运行。");
return FALSE;
}
else
{
AfxMessageBox("应用程序第一次运行。");
}
如果 创建失败,就表示已有程序运行。
在我们程序退出时,记得关闭互斥对象句柄就好 。
int CDemoApp::ExitInstance()
{
if (m_hMutex != NULL)
{
//关闭句柄
CloseHandle(m_hMutex);
}
return CWinApp::ExitInstance();
}
复制代码
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4