如何让程序只运行一个实例

时间:2022-04-04 19:45:53

在程序的开始加上这样一段代码:

    //用来控制只有一个实例在运行
    HANDLE hMutex=CreateMutex(NULL,FALSE,"RunOnlyOneInstance"); //命名Mutex是全局对象    
    //在所有的process都可以访问到    
    if(hMutex==NULL|| ERROR_ALREADY_EXISTS==::GetLastError())
    {   
            //程序第二次或以后运行时,会得到Mutex已经创建的错误  
             printf("已经运行了一个实例\n");
             system("pause");
             return 0;    
    }