如何禁止程序启动多个实例
VC 6.0 项目下编译通过,可在程序启动处(如控制台程序的main函数,form程序的winmain函数)加入如下代码(需要包含windows.h头文件),结合GetLastError函数判断是否程序已经在运行。
#include<stdio.h>
#include<windows.h>
int main(int argc, char* argv[])
{
HANDLE m_mutex = NULL;
m_mutex = CreateMutex(NULL,FALSE,"test_mutex");
if(GetLastError()==ERROR_ALREADY_EXISTS){
printf("program is already running\n");
CloseHandle(m_mutex);
m_mutex = NULL;
return false;
}
...
}