0

プログラムされて使用されたプロセスがあります

CWinApp(
   LPCTSTR lpszAppName = NULL 
);

lpszAppName は知っています。

lpszAppName を使用して、この WinApp プロセスが存在するかどうかを確認したい。どうすればいいですか?

ありがとう

4

1 に答える 1

1

名前付きミューテックスを使用します。

プログラムの開始時:

HANDLE hMutex = CreateMutex(NULL, TRUE, "Your program name");
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
    // Process already running.
    CloseHandle(hMutex);
}
else
{
    // No process running.
}

プログラムの終了時:

if (hMutex)
{
    CloseHandle(hMutex);
    hMutex = NULL;
}
于 2012-06-11T14:23:20.607 に答える