程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> wince法式避免創立多個實例完成互斥感化

wince法式避免創立多個實例完成互斥感化

編輯:關於C++

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()函數中。

年夜家在測試的時刻,可以先把激活窗口的那句正文失落

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved