WINCE互斥的实现

来源:互联网 发布:js 弹出对话框 编辑:程序博客网 时间:2024/06/16 11:08

为防止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函数中的,不知道是否有更合适的地方。。。

0 0