二重起動の防止(ミューテックス)

アプリケーションの二重起動を防止するには、ミューテックスを使うことで実現できます。

DWORD nError;

HANDLE hMutex = CreateMutex(NULL, FALSE, "オブジェクトの名前");
nError = GetLastError();
if(nError == ERROR_ALREADY_EXISTS){
    //二重起動している
    if(hMutex) CloseHandle(hMutex);
    //二重起動時の処理(メッセージなど)
}