0
我有一個使用::CreateEvent
創建命名事件的進程。檢查命名事件
在我的過程中,我想檢查事件是否存在,但我不想在事件不存在的情況下創建事件。
我該怎麼辦?
我能做到這樣,但後來的情況下將創建的事件不存在:
HANDLE hEvent;
hEvent= ::CreateEvent(NULL, FALSE, FALSE, _T("MyEvent"));
if (::GetLastError() != ERROR_ALREADY_EXISTS)
{
.......
}
對不起,我錯了。我改用「CreateEvent」而不是「OpenEvent」。 「OpenEvent」根本不適用於我,即使在事件存在的情況下,它也會返回NULL。我編輯了我的問題。 – user1439691
檢查錯誤代碼。如果事件存在,但OpenEvent返回NULL,那麼還有另一個問題。這可能是一個權限錯誤---如果事件是由另一個進程創建的,那麼您可能沒有正確的權限來訪問它,特別是如果其他進程是服務或其他系統進程,或者由其他用戶運行。 –