#include <stdio.h>
#include <windows.h>
int main (void)
{
HANDLE hMutex=CreateMutex(NULL,TRUE,TEXT("125096"));
if (hMutex)
{
if (GetLastError()==ERROR_ALREADY_EXISTS)
{
printf("有一个实例存在");
HANDLE hOpen=OpenMutex(MUTEX_ALL_ACCESS,FALSE,TEXT("125096")); //MUTEX_ALL_ACCESS MUTEX_MODIFY_STATE
if (hOpen)
{
if (ReleaseMutex(hOpen))
{
printf("OK\n");
}
else
{
int a=GetLastError();
//a=288
//企图释放并非呼叫方所拥有的多用户终端运行程序。
printf("NO\n");
}
}
}
}
else
{
printf("创建失败\n");
}
getchar();
CloseHandle(hMutex);
return 0;
}
进程间互斥CreateMutex
最新推荐文章于 2019-09-16 11:23:01 发布