wince法式避免創立多個實例完成互斥感化。本站提示廣大學習愛好者:(wince法式避免創立多個實例完成互斥感化)文章只能為提供參考,不一定能成為您想要的結果。以下是wince法式避免創立多個實例完成互斥感化正文
流程:
1、在法式初始化的時刻創立互斥量
2、檢測互斥量前往的毛病代碼,看能否已存在這個互斥量
3、若已存在雷同的互斥量,則釋放創立的互斥句柄,並復位互斥量,然後,加入該法式
詳細代碼以下:
//創立互斥量
HANDLE m_hMutex = CreateMutex(NULL, FALSE, _T("D3GPhoneDlg"));
// 檢討毛病代碼
if (GetLastError() == ERROR_ALREADY_EXISTS){
// 假如已有互斥量存在則釋放句柄並復位互斥量
CloseHandle(m_hMutex);
m_hMutex = NULL;
::PostMessageW(HWND_BROADCAST, WM_D3GPHONEDLG_MSG, 1, 2);// 告訴已翻開的法式,激活窗口
// 法式加入
CDialog::OnCancel();
}
// *** 【EOF】避免法式創立多個實例 ***
這段代碼在wince 的MFC法式中測試經由過程,放到法式的OnInitDialog()函數中。
年夜家在測試的時刻,可以先把激活窗口的那句正文失落