2013-04-12 105 views
0

我已经编写,运行下面的代码行的可执行程序:为什么我的EventWaitHandle获得UnauthorizedAccessException?

immediateShutdownEvent = new EventWaitHandle(false, EventResetMode.ManualReset, "Global\\immediateShutdownEvent", out createdNew, security); 

而这个可执行程序运行时我可以设置这个事件,它工作正常,但一旦可执行文件被杀害了作为一个过程(从任务管理器,如果你手动杀死进程,例如),我会自动重新启动进程后,我杀了它,我得到一个“System.UnauthorizedAccessException:访问路径'全球\ immediateShutdownEvent'被拒绝”,即使它运行系统的相同上下文。为什么是这样的,我该如何解决?

+1

你允许Windows从死亡进程中清理弹片多少时间? –

+0

那么,有没有办法强制它清理它?喜欢,如果它仍然在附近,我该如何强制它关闭这个句柄? – Alexandru

+0

像,我可以看到它等待主人死亡杀死手柄......等重新启动,我可以尝试打开手柄,并强迫它清理它......但我一直无法强制它成功了。有任何想法吗?我的代码可能是错误的。 – Alexandru

回答

0

我想通过使用OpenExisting()并获取WaitEventHandle ...然后关闭它(如果存在的话),尽管说您的当前帐户需要访问权限才能删除此事件。

相关问题