WaitForSingleObject
それを使用しないのではなく、ここで使用する利点は何ですか? コードの最初のブロックは、以前の回答からのものです。2番目のブロックは、私がやっている方法です。
BOOL IsProcessRunning(DWORD pid)
{
HANDLE process = OpenProcess(SYNCHRONIZE, FALSE, pid);
DWORD ret = WaitForSingleObject(process, 0);
CloseHandle(process);
return (ret == WAIT_TIMEOUT);
}
対
BOOL IsProcessRunning(DWORD pid)
{
HANDLE process = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid);
const bool exists = (process != NULL);
CloseHandle(process);
return exists;
}
SYNCHRONIZEを使用するにはより高い権限が必要なようで、現在のユーザーの PID のみを確認したいのです。