CreateMutex再创建一个同名的内核对象,因为重名,所以这个函数会失败,这样就只能启动一个进程了。
在WINMAIN函数开始处或者基于MFC的Application->InitiInstance()函数开始处加入如下代码
HANDLE hMutex = CreateMutex(NULL, false, "anyname");
if (GetLastError() == ERROR_ALREADY_EXISTS) { CloseHandle(hMutex); return 0; }