有没有办法只允许现有获胜应用程序的一个实例?

时间:2012-05-12 12:15:30

标签: windows

是否可以只允许任何Windows应用程序的一个实例?如果是,怎么样?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以创建named mutex。在应用程序开始时,通常是WinMain()函数,如果您成功拥有互斥锁,则意味着实例是第一个可以标记错误或使用其他方法激活第一个应用程序的实例。

HANDLE hMutex = CreateMutex(NULL, FALSE, "MY_MUTEX_123_UNIQUE_STRING");
if (ERROR_ALREADY_EXISTS == GetLastError())
    std::cout<<"This is not the first instance\n";
else
    std::cout<<"This is first instance\n";