0

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

谢谢!

4

1 回答 1

3

您可以创建一个命名的 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";
于 2012-05-12T12:27:04.210 回答