同一台机器的进程通信问题?怎样合法关掉子进程?!
个人尝试了以下几种方法:
1、在主进程和子进程都注册消息,在主进程中广播该消息。但是子进程没有响应
g_uFindReplaceMsg = RegisterWindowMessage("123456");//调试得知主子进程的值都是一样
//主进程发送该消息,子进程没有收到。为什么?
::SendMessage(HWND_BROADCAST, g_m_uFindReplaceMsg, 0, 0);
2、通过对进程进行查找,可以得到进程的HANDLE,该怎么进行通信呢?由于子进程在关闭时要进行一系列的析够,所以不能用TerminateProcess()。
Process32First(m_hfindhandle,info))
Process32Next(m_hfindhandle,info))
3、勉强可行的方法,但是觉得不是很好,可靠性差了点
FindWindow(NULL, _T("计算器"))->SendMessage(WM_CLOSE);
希望大家给点好的意见,多谢!