使用全局CEvent在不同进程间通信
来源:互联网 发布:淘宝模特兼职公司 编辑:程序博客网 时间:2024/04/28 00:22
创建两个基于MFC的控制台应用程序;
假设一个exe叫【事件1】,另一个exe叫【事件2】;【事件1】中按空格键向【事件2】发消息,【事件2】响应并显示!
【事件1】关键程序:
//// 创建一个共享的全局事件//第二个参数为设置信号后,自动复位为无信号//第三个参数为共享全局用的名字//CEvent *m_pEvt = new CEvent(FALSE, FALSE, "12345");if (m_pEvt == NULL){printf("创建事件失败\n");return 0;}printf("按下空格键,向另一个创建exe发送事件通知\n");//// 按空格键向另一个进程发送事件//while(1){if (kbhit()){char ch = getch();if (ch == 'q')break;if (ch == ' '){static int k = 0;printf("发送事件: %d\n", k++);m_pEvt->SetEvent();}}Sleep(5);}
【事件2】关键程序(启动和主循环中):
//// 创建一个共享的全局事件//第二个参数为设置信号后,自动复位为无信号//第三个参数为共享全局用的名字//CEvent *m_pEvt = new CEvent(FALSE, FALSE, "12345");if (m_pEvt == NULL){printf("创建事件失败\n");return 0;}//// 创建线程等待接收//AfxBeginThread(MyControllingFunction, m_pEvt);printf("等待另一个创建exe发送的事件通知\n");//// 主循环等待退出//while(1){Sleep(5);}
线程函数中:
UINT MyControllingFunction( LPVOID pParam ){CEvent *pEvt = (CEvent *)pParam;while(1){//使用 CSyncObject::operator HANDLE 转型WaitForSingleObject((HANDLE)(*pEvt), INFINITE);static int k = 0;printf("收到事件: %d\n", k++);}}
- 使用全局CEvent在不同进程间通信
- Android中使用AIDL完成不同进程间的通信
- AIDL在Android进程间通信使用
- Win7 不同进程使用WM_COPYDATA消息通信
- Android中使用aidl在进程间通信(IPC)
- 使用互斥对象CMutex实现不同的进程间通信
- 使用CEvent有感
- 事件CEvent的使用
- 事件对象CEvent使用
- 事件CEvent的使用
- 事件CEvent的使用 .
- 事件CEvent的使用
- 使用 CEvent 类
- 事件CEvent的使用
- kazoo在多进程下使用全局连接死锁问题
- 使用AIDL进程间通信
- 进程间通信使用信号
- 进程间通信使用Messenger
- 图基本操作
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
- ASP.NET安全问题--Forms验证(后篇)--实战篇
- Eclipse Juno下搭建Android开发环境
- Linux 常用命令
- 使用全局CEvent在不同进程间通信
- 如何查看linux版本 如何查看LINUX是多少位
- ural1057
- 用烂的java面试题
- ASP.NET安全问题--ASP.NET中的授权问题(前篇)
- js中如何控制字符串开头以特定字符开头
- IOS 关于NSNotification
- 深入JavaScript(三)之运行顺序
- Coding Practice