主要流程如下:
1、定义消息名,两个进程消息名必须一致
2、OpenEvent / CreateEvent
3、SetEvent / WaitForSingleObject
4、CloseHandle (各进程必须关闭消息句柄以防止句柄泄露)
以下是主要代码:
进程A:
1、
#define MYEVENT L"MYEVENT_725231EA-83DB-4880-BE50-20F6F031C5D3"
2、
HANDLE hEvent = OpenEvent(EVENT_ALL_ACCESS, FALSE, MYEVENT);
if (hEvent == NULL)
{
OutputDebugStringA("Open Event Failed Go Create\n");
hEvent = CreateEvent(NULL, FALSE, FALSE, MYEVENT);
if (hEvent == NULL)
{
OutputDebugStringA("CreateEvent FAILED , m_hEncEvent == NULL!\n");
return -1;
}
OutputDebugStringA("Create Event SUCCEED\n");
}
3、
SetEvent(hEvent);
4、
CloseHandle(hEvent);
进程B:
1、
#define MYEVENT L"MYEVENT_725231EA-83DB-4880-BE50-20F6F031C5D3"
2、
HANDLE hEvent = OpenEvent(EVENT_ALL_ACCESS, FALSE, MYEVENT);
if (hEvent == NULL)
{
OutputDebugStringA("Open Event Failed Go Create\n");
hEvent = CreateEvent(NULL, FALSE, FALSE, MYEVENT);
if (hEvent == NULL)
{
OutputDebugStringA("CreateEvent FAILED , m_hEncEvent == NULL!\n");
return -1;
}
OutputDebugStringA("Create Event SUCCEED\n");
}
3、
WaitForSingleObject(hEvent, INFINITE)
4、
CloseHandle(hEvent);
源码链接:https://download.csdn.net/download/qq_33650889/13569481