wince程序防止創(chuàng)建多個(gè)實(shí)例實(shí)現(xiàn)互斥作用
流程:
1、在程序初始化的時(shí)候創(chuàng)建互斥量
2、檢測互斥量返回的錯(cuò)誤代碼,看是否已存在這個(gè)互斥量
3、若已存在相同的互斥量,則釋放創(chuàng)建的互斥句柄,并復(fù)位互斥量,然后,退出該程序
具體代碼如下:
//創(chuàng)建互斥量
HANDLE m_hMutex = CreateMutex(NULL, FALSE, _T("D3GPhoneDlg"));
// 檢查錯(cuò)誤代碼
if (GetLastError() == ERROR_ALREADY_EXISTS){
// 如果已有互斥量存在則釋放句柄并復(fù)位互斥量
CloseHandle(m_hMutex);
m_hMutex = NULL;
::PostMessageW(HWND_BROADCAST, WM_D3GPHONEDLG_MSG, 1, 2);// 通知已打開的程序,激活窗口
// 程序退出
CDialog::OnCancel();
}
// *** 【EOF】防止程序創(chuàng)建多個(gè)實(shí)例 ***
這段代碼在wince 的MFC程序中測試通過,放到程序的OnInitDialog()函數(shù)中。
大家在測試的時(shí)候,可以先把激活窗口的那句注釋掉
上一篇:c語言實(shí)現(xiàn)的hashtable分享
欄 目:C語言
下一篇:平衡二叉樹的實(shí)現(xiàn)實(shí)例
本文標(biāo)題:wince程序防止創(chuàng)建多個(gè)實(shí)例實(shí)現(xiàn)互斥作用
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3797.html
您可能感興趣的文章
- 01-10使用OpenGL實(shí)現(xiàn)3D立體顯示的程序代碼
- 01-10基于C程序啟動(dòng)代碼的深入分析
- 01-10探討:程序在內(nèi)存中的分配(常量,局部變量,全局變量,程序代碼)問
- 01-10用C++實(shí)現(xiàn)隊(duì)列的程序代碼
- 01-10C語言程序設(shè)計(jì)50例(經(jīng)典收藏)
- 01-10如何將C語言代碼轉(zhuǎn)換為應(yīng)用程序(也就是編譯)
- 01-10使用VC6.0對C語言程序進(jìn)行調(diào)試的基本手段分享
- 01-10C語言小程序 楊輝三角示例代碼
- 01-10C語言小程序 如何判斷三角型類型
- 01-10C語言小程序 數(shù)組操作示例代碼


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置