0

Windows アプリのインスタンスを 1 つだけ許可することはできますか? はいの場合、どのように?

ありがとう!

4

1 に答える 1

3

名前付きミューテックスを作成できます。アプリケーション (通常は 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 に答える