C++只允许一个程程序运行
C++只允许一个程程序运行的方式可以采用命名互斥量、事件等方式来进行,以下给出事件方式的代码,极其简单,原理也很简单:创建一个命名事件对象,然后第二次运行程序的时候,检查该命名事件对象是否已经存在,若已经存在,则代表已经有一个软件在运行,直接exit()即可,若没有则继续执行后续代码。
//确保只有一个程序在运行
HANDLE g_singlehandle = CreateEvent(NULL , FALSE,FALSE,_T("singleflag"));
if(g_singlehandle)
{
if(ERROR_ALREADY_EXISTS==GetLastError())
{
MessageBox(T("此程序已经在运行,只允许运行一个,点击确定后,会自动退出当前程序"))
exit(-1);
}
}