代码之家  ›  专栏  ›  技术社区  ›  Jamie Keeling

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

  •  0
  • Jamie Keeling  · 技术社区  · 15 年前

    这是继我先前回答的问题之后的一个问题 here

    一开始我以为我在创建事件时遇到了问题,因为openevent的句柄返回了null,我已经找到了真正的原因,但是我不知道如何去做。

    基本上,我使用visual studio同时启动进程a和b,在过去,我的openevent句柄不会工作,因为进程a在进程b有时间之前的一小部分时间寻找事件的地址。

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

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

    我在wm_create中创建两个进程的事件create message,此外,我还创建了一个线程来打开/读取/处理事件。

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

    有人能提出解决办法吗?

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   torak    15 年前

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