大侠们帮帮我吧,两个控制台程序可以相互和接受消息吗??? 我现在是两个控制台程序,一个是父进程,一个是子进程,子进程由父进程创建,然后父进程向一块共享内存写入数据,然后我要向子进程中发一个消息,通知它可以从内存中读东西了,然后子进程返回返回一个消息给父进程,就这样,这在控制台程序中理论上可以实现吗?可以的话谁能帮帮我该如何实现???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也很疑问、、、我记得看操作系统概念时就获得了这么一点信息:int main(){ //.....创建子进程 fork(); //....创建共享内存 //....父进程等待子进程 wait(); rerurn 0; } 有很多方法,如果用socket不光本机,和别和机器也能通信,如果只是本机的话用进程间通信就好了 我说的是socket不是映射文件 //发送通知HANDLE hEvent=::OpenEvent( EVENT_ALL_ACCESS, FALSE, (LPCSTR)(char*)strEventName);::SetEvent(hEvent);::CloseHandle(hEvent);//等待通知while ( WAIT_OBJECT_0==::WaitForSingleObject(hEvent,INFINITE) ){ pThis->SendMessage(WM_TASKBAR,0,WM_LBUTTONDOWN); ::ResetEvent(hEvent);}//事件初始化无信号 手工重置::CreateEvent(NULL,TRUE,FALSE,(LPCTSTR)(char*)strEventName); socket吧,上面也可以实现不过要map一块内存出来共享使用 用Mutex就可以了. 定个名称, 让你的子进程打开, 当主进程写入后, 把Mutex开锁, 子进程获取锁之后就可以读. 不知道用系统的消息列表表不能工作在main, 好像只限定为winmain, 可以用的话, 子进程也可以采用GetThreadMsg, 然后由主进程PostThreadMsg进行通信.这些方式都随便的.编写时要注意多线程同步原则. 文字下方添加箭头 求网上类似于TCP/IP调试助手的源码 请问如何判断CListView的滚动条是否显示 100分(我为什么不能给500?)求一段拼接位图数据流的代码 字体创建的问题 这个错误怎么解决? 如果你是高手,想找份工作,进来写上你的资料和作品~~ @@@@@小问题: MFC单文档程序中如何在CXXXDoc中得到CXXXView和CXXXLeftView的指针 怎么编程修改注册表…………(请各位大侠不吝指教!) select * from test where r='2002-12-12 1:12:12' 怎么回事 DWORD转成LPCWSTR 求教怎么编译AGG的lib
{
//.....创建子进程
fork(); //....创建共享内存
//....父进程等待子进程
wait(); rerurn 0;
}
不是映射文件
HANDLE hEvent=::OpenEvent( EVENT_ALL_ACCESS, FALSE, (LPCSTR)(char*)strEventName);
::SetEvent(hEvent);
::CloseHandle(hEvent);//等待通知
while ( WAIT_OBJECT_0==::WaitForSingleObject(hEvent,INFINITE) )
{
pThis->SendMessage(WM_TASKBAR,0,WM_LBUTTONDOWN);
::ResetEvent(hEvent);
}//事件初始化无信号 手工重置
::CreateEvent(NULL,TRUE,FALSE,(LPCTSTR)(char*)strEventName);
不知道用系统的消息列表表不能工作在main, 好像只限定为winmain, 可以用的话, 子进程也可以采用GetThreadMsg, 然后由主进程PostThreadMsg进行通信.
这些方式都随便的.
编写时要注意多线程同步原则.