如何禁止应用程序启动多个实例

2020-06-28 科技 85阅读

在应用程序入口(_tmain或_tWinMain)函数中创建(Create*)一个命名对象(具体创建什么类型无关紧要),Create*返回后,再调用一下GetLassError。如果返回ERROR_ALREADY_EXISTS,表明应用程序的另一个实例正在运行,新的实例就可以退出了。

例码:

  • int main()

  • {

  • HANDLE h = CreateMutex(NULL,FALSE,TEXT("showerrorMutex"));

  • if (ERROR_ALREADY_EXISTS == GetLastError())

  • {

  • cout<<"A old app exit!"<

  • CloseHandle(h);

  • return 0;

  • }

  • CloseHandle(h); 

  • return 0;

  • }

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com