1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| void CTestDlg::OnBnClickedButton1()
{
HANDLE hMutex = CreateMutex(NULL, FALSE, NULL);
if (hMutex == NULL)
{
AfxMessageBox("CreateMutex error");
return;
}
//else :
DWORD dwResult1 = WaitForSingleObject(hMutex, INFINITE);
DWORD dwResult2 = WaitForSingleObject(hMutex, INFINITE);
DWORD dwResult3 = WaitForSingleObject(hMutex, INFINITE);
DWORD dwResult4 = WaitForSingleObject(hMutex, 2000);
DWORD dwResult5 = WaitForSingleObject(hMutex, 2000);
DWORD dwResult6 = WaitForSingleObject(hMutex, 2000);
if (dwResult1 == WAIT_OBJECT_0) AfxMessageBox("YES 1", MB_ICONINFORMATION);
else AfxMessageBox("NO 1");
if (dwResult2 == WAIT_OBJECT_0) AfxMessageBox("YES 2", MB_ICONINFORMATION);
else AfxMessageBox("NO 2");
if (dwResult3 == WAIT_OBJECT_0) AfxMessageBox("YES 3", MB_ICONINFORMATION);
else AfxMessageBox("NO 3");
if (dwResult4 == WAIT_OBJECT_0) AfxMessageBox("YES 4", MB_ICONINFORMATION);
else AfxMessageBox("NO 4");
if (dwResult5 == WAIT_OBJECT_0) AfxMessageBox("YES 5", MB_ICONINFORMATION);
else AfxMessageBox("NO 5");
if (dwResult6 == WAIT_OBJECT_0) AfxMessageBox("YES 6", MB_ICONINFORMATION);
else AfxMessageBox("NO 6");
//Output : No wait, all Messages are "YES" (YES 1, 2, 3, 4, 5 and 6). How Possible ?!
} |
Partager