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

通过创建命名事件对象,检查其是否存在来确保C++程序仅运行一个实例。如果事件已存在,则表示程序已在运行,新实例将退出。这种方式提供了防止程序多实例运行的简单解决方案。
388

被折叠的 条评论
为什么被折叠?



