ここでWaitForSingleObject
を使用しない場合の利点は何ですか?コードの最初のブロックはprevious answerです。 2番目のブロックは、私がそれをやっているところです。プロセスIDを確認するときにWaitForSingleObjectを使用するメリット
BOOL IsProcessRunning(DWORD pid)
{
HANDLE process = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid);
const bool exists = (process != NULL);
CloseHandle(process);
return exists;
}
対
BOOL IsProcessRunning(DWORD pid)
{
HANDLE process = OpenProcess(SYNCHRONIZE, FALSE, pid);
DWORD ret = WaitForSingleObject(process, 0);
CloseHandle(process);
return (ret == WAIT_TIMEOUT);
}
SYNCHRONIZEを使用すると、高い権限を必要とし、私は現在のユーザーに対してのみPIDを確認したいように思えます。
比較作業を追加するには、プロセスの完了ステータスを判断するために 'GetExitCodeProcess'と' WaitForSingleObject'を比較したいかもしれません。 –