C++ 等待句柄/事件异步或在同一线程内回调
我使用CreateEvent创建了一个全局事件,并使用OpenEvent在另一个应用程序中获取该事件的句柄 然后我想做一些类似的事情: (比苏多代码) 其中,my_call_back在调用register_event_change_notification的同一线程上执行。然而,我的问题是,我找不到任何允许这样做的API。您似乎只有以下选项:C++ 等待句柄/事件异步或在同一线程内回调,c++,multithreading,winapi,C++,Multithreading,Winapi,我使用CreateEvent创建了一个全局事件,并使用OpenEvent在另一个应用程序中获取该事件的句柄 然后我想做一些类似的事情: (比苏多代码) 其中,my_call_back在调用register_event_change_notification的同一线程上执行。然而,我的问题是,我找不到任何允许这样做的API。您似乎只有以下选项: 创建一个使用WaitForSingleObject的线程,然后调用my_call_,并在所有内容周围放置关键部分 创建一个使用WaitForSingleO
m_wnd = CreateWindowA( "STATIC", "", 0,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
HWND_MESSAGE, NULL, NULL, NULL);
要通过发送消息给它,您对选项的分析是正确的。对于使用消息的选项2,有两个选项可以将通知导向所需线程。(a) 对于非GUI线程目标,请使用PostThreadMessage。(b) 对于GUI线程目标,您可以向目标HWND发送PostMessage或SendMessage。消息由创建HWND的线程接收
m_wnd = CreateWindowA( "STATIC", "", 0,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
HWND_MESSAGE, NULL, NULL, NULL);