您的位置:首页 > 其它

WINCE互斥的实现

2016-07-18 22:56 211 查看
为防止WINCE程序被多次打开,可以使用以下方式实现互斥:

HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"TEST_WIN");
if (GetLastError() == ERROR_ALREADY_EXISTS) {
printf("TEST_WIN already exist, CreateMutex Error!!!\n");
//MessageBox(NULL, L"TEST_WIN already exist!!\n", L"TEST_WIN Error", MB_OK);
CloseHandle(m_hMutex);
m_hMutex = NULL;
return FALSE;
}


说明如下:

①首先创建互斥量 HANDLE m_hMutex = CreateMutex(NULL, FALSE, L”TEST_WIN”);

②通过创建互斥量时返回的错误代码检查此互斥量是否已存在

③若此互斥量已存在,说明程序已被打开,因此释放创建的互斥句柄并返回

已测试可以防止程序被多次打开。但是有一个问题,这段代码我是放在WinMain函数中的,不知道是否有更合适的地方。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wince