26.event跨进程通信
2024-08-31 15:52:21
- 以id创建事件
char name[] = "myevent";
HANDLE event = CreateEventA(NULL, FALSE, FALSE, name); - 设置事件
SetEvent(event);
- 关闭事件
CloseHandle(event);
- 另一个进程打开事件
HANDLE event = OpenEventA(EVENT_ALL_ACCESS, TRUE, name);//打开事件
- 然后等待事件
DWORD res = WaitForSingleObject(event, );
- 等待结果
case WAIT_OBJECT_0:
printf("收到信号-------");
break;
case WAIT_TIMEOUT:
printf("超时没有收到-------");
break;
case WAIT_ABANDONED:
printf("另外一个进程意外终止-------");
break;
完整代码:
event.c
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h> char name[] = "myevent";
//mutex可以感知丢失,event无法感知
void main()
{
HANDLE event = CreateEventA(NULL, FALSE, FALSE, name);
printf("创建成功");
char ch = getch(); SetEvent(event);
printf("触发event");
CloseHandle(event); system("pause");
}
wait.c
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h> char name[] = "myevent"; void main()
{
HANDLE event = OpenEventA(EVENT_ALL_ACCESS, TRUE, name);//打开事件 if (event == NULL)
{
printf("打开失败");
system("pause");
return;
}
printf("等待-------");
DWORD res = WaitForSingleObject(event, );
switch (res)
{
case WAIT_OBJECT_0:
printf("收到信号-------");
break;
case WAIT_TIMEOUT:
printf("超时没有收到-------");
break;
case WAIT_ABANDONED:
printf("另外一个进程意外终止-------");
break;
default:
break; }
CloseHandle(event); system("pause");
}
最新文章
- javascript类型与类型检测
- JavaScript Cookies
- 【HTML5】Canvas 实现放大镜效果
- bzoj1670 Usaco2006 Building the Moat护城河的挖掘 [凸包模板题]
- Android Studio导入GitHub上的项目常见问题(有例子)
- Android AIDL-跨进程
- ###《Max-Margin Early Event Detectors》
- Arrays.sort源代码解析
- EF code first 生成edmx文件
- Visual Studio的广告剧
- load Event
- Oprofile安装与使用探索
- Jps介绍以及解决jps无法查看某个已经启动的java进程问题【盗用】
- selenium+python 自动化中界面滚动条操作方法
- [Oracle]同义词(synonym)
- AlexNet 网络详解及Tensorflow实现源码
- 02.将SDK获取到的ECS主机信息入库
- springcloud 服务注册、反注册 AOP 拦截,实现自定义功能
- QT +go 开发 GUI程序
- java 按字节读写二进制文件(Base64编码解码)
热门文章
- C#版清晰易懂TCP通信原理解析(附demo)
- D3.js 整体展示篇
- 基于CC2530的ZigBee转以太网网关的设计与实现
- 22. Angular 中用 a 标签 href 路由时在浏览器中显示异常 ";%2F"; 路由失败问题
- 16个ASP.NET MVC扩展点【附源码】
- CentOS上搭建Tomcat环境并配置服务自启动
- python jieba分词工具
- ttf字体转换成web中使用的woff、svg、eot格式字体
- UVALive 6869 Repeated Substrings
- TextWatcher-监听输入框内容变化