gpt4 book ai didi

c - 在不同时间运行进程会导致事件停止工作 - C

转载 作者:行者123 更新时间:2023-11-30 16:04:40 25 4
gpt4 key购买 nike

这是我之前回答的问题 here 的后续问题

起初我以为我创建事件的方式有问题,因为 OpenEvent 的句柄返回 NULL,我已经设法找到真正的原因,但我不知道如何解决。

基本上,我使用 Visual Studio 同时启动进程 A 和 B,在过去,我的 OpenEvent 句柄无法工作,因为进程 A 在进程 B 之前的几分之一秒内寻找事件的地址是时候做到了。

我的解决方案是简单地允许进程 B 在进程 A 之前运行,从而修复错误。

我现在遇到的问题是,进程 B 现在从进程 A 读取事件,并且正如您所期望的那样,当尝试从进程 A 打开事件时,它也会返回空句柄。

我在两个进程的WM_CREATE消息中创建事件,此外我还同时创建一个线程来打开/读取/操作事件。

似乎如果我同时运行它们,它们就没有机会看到彼此,或者如果我在另一个运行之前运行它们,则它们中的一个会错过并且无法打开句柄。

有人可以提出解决方案吗?

谢谢。

最佳答案

只需将 OpenEvent 替换为 CreateEvent 即可。 CreateEvent 将打开一个事件,而不是创建一个新事件,它会找到一个名称传递给 CreateEvent 的现有事件。

关于c - 在不同时间运行进程会导致事件停止工作 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2731086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com