国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

防止一個沒有窗體的WINDOWS程序的重復運行

2019-11-17 05:21:42
字體:
來源:轉載
供稿:網友

  用互斥(Mutex),Mutex本來是多線程同步用的,防止多個線程訪問同一資源而引發沖突。用CreateMutex可以創建Mutex對象,實質上是一個kernel對象。

在任何Win32程序(包括GDI和Console)的啟動部分加上以下代碼(Console程序的main函數、MFC程序的CWinApp派生類的InitInstance成員函數、RawSDK程序的WinMain 函數):

hMutex=CreateMutex(
NULL,//nosecurityattributes
FALSE,//initiallynotowned
"RunOnlyOneInstance");//命名Mutex是全局對象
//在所有的PRocess都可以訪問到

if(hMutex==NULLERROR_ALREADY_EXISTS==::GetLastError())
{
//程序第二次或以后運行時,會得到Mutex已經創建的錯誤
returnFALSE;
}
嘿嘿,是不是不用FindWindow優雅簡潔多了?

另外,假如要限定程序同時可運行n個實例怎么辦?
Tips:用信號量(Semaphore)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 育儿| 鄂尔多斯市| 左贡县| 汝州市| 宜丰县| 长白| 玉林市| 昌平区| 武强县| 苗栗县| 潜江市| 松阳县| 吴江市| 修文县| 莆田市| 台江县| 杭州市| 汤阴县| 北碚区| 乌鲁木齐县| 隆尧县| 宜丰县| 四子王旗| 盐源县| 定兴县| 万州区| 高邮市| 武安市| 杂多县| 平安县| 郑州市| 浑源县| 巩义市| 剑阁县| 新巴尔虎左旗| 密山市| 蒙阴县| 德兴市| 义马市| 依兰县| 肥东县|