我创建了一个 Windows 服务。我正在创建一个事件“测试”。我想使用相同的事件对象由我的应用程序设置/重置。但我似乎没有通过我的应用程序获得事件对象的句柄。但可以看到 BaseNamed 对象中列出的事件。
我想我需要对创建事件的安全属性做一些事情。
我在我的服务中创建这个事件
CreateEvent(NULL,TRUE,FALSE,TEXT(“测试”))
并在我的应用程序中使用 OpenEvent。
OpenEvent(EVENT_ALL_ACCESS, TRUE, TEXT("测试"))
请建议我需要进行哪些更改,以便我的应用程序能够处理。
更新
更换后TEXT("Test") with TEXT("Global\\Test")
。我仍然没有得到 Event 对象句柄。是的,现在至少它通过错误返回(访问被拒绝)识别事件对象的存在。它之前得到了一个错误返回(系统找不到指定的文件)。正如我所说,我认为这里有一些安全方面。这就是我发现的:由于会话在会话 0 中创建事件。它不能被我在会话 1 中创建的应用程序继承。为此,在创建事件对象时,我需要指定安全属性结构适当的安全调度程序这样做。有人可以告诉我该怎么做吗?