m_hMutex = OpenMutex( MUTEX_ALL_ACCESS, FALSE, strClassName);
if(m_hMutex == NULL)
{
m_hMutex = CreateMutex(NULL, TRUE, strClassName);
}
else
{
AfxMessageBox( "FTPServer already running! ", MB_ICONEXCLAMATION );
::PostMessage( this->m_hWnd, WM_CLOSE, 0, 0 );
return FALSE;
}
if(m_hMutex == NULL)
{
m_hMutex = CreateMutex(NULL, TRUE, strClassName);
}
else
{
AfxMessageBox( "FTPServer already running! ", MB_ICONEXCLAMATION );
::PostMessage( this->m_hWnd, WM_CLOSE, 0, 0 );
return FALSE;
}
本文通过一个具体例子展示了如何使用Mutex来防止同一应用程序的多个实例同时运行。通过调用OpenMutex和CreateMutex函数,确保只允许一个实例运行,并在已有实例运行时给出提示并退出。
255

被折叠的 条评论
为什么被折叠?



