【发布时间】:2012-05-12 12:15:30
【问题描述】:
是否可以只允许任何 Windows 应用程序的一个实例?如果是,怎么做?
谢谢!
【问题讨论】:
标签: windows
是否可以只允许任何 Windows 应用程序的一个实例?如果是,怎么做?
谢谢!
【问题讨论】:
标签: windows
您可以创建一个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";
【讨论】: