之前写的一份代码没有完善今天把他完善了.
因为结构体的问题e开发进程通讯有些不方便.
特别是在多进程的情况下.
目前悉知的进程通讯方式 tcp map 管道
这些用在进程通讯都有很多缺点
1.设计复杂
2.句柄不能重复使用,如管道 连接一次该句柄即刻作废.
3.需要一个识别的参数,如窗口句柄, tcp ip
4.接收函数与发送函数需要区别编写,增加了代码量
5.占用限制,如内存文件与管道,在句柄被使用之后不能再有第二个连接方除非你创建无数个对象
我在研究内核向r3 主动通讯的时候一直没有发现什么好方法 可以代码简洁思路清晰的 主动通讯 r3中所有属于自己的应用程序.
因为不管哪一种方法 都需要向通讯者提供一个接收句柄来作为通讯的钥匙,这不符合编程思想,一切应该一以简单直接了当作为原则,如果我写一个通讯都要考虑我有多少个进程 多少个窗口 ,那么我必然还需要写向通讯进程提供这些窗口句柄或者通讯句柄的代码,这显然太麻烦,所以我研究出了一种线程挂起的方式,自动的枚举出系统中符合我识别标识的进程线程,并且向他们广播我的通讯内容.
此框架支持同步异步,同步通讯可以接收到回复内容,尤其是在DLL中与外部主进程通讯得到一定的开发客观性.
出来接收线程的代码不用动,在接收回调中可进行加密处理.
此框架运行的条件是通讯者之间都可以持有对方进程的open权限.如果没有保护驱动拦截的情况下都是拥有该权限的.
关于优化思路:首次广播应当保存在线客户的句柄,通讯失败自然GetThreadContext会失败代表进程退出则删除该句柄的保存.
另外新进程创建可以向全进程广播自己,那么不就是有通讯者ID吗加入你的保存列队就行了
由于这是框架优化我也懒得写全了,那么简单的问题就不用问了7系统的GetThreadContext参数可能不同,另外影响寄存器的情况下可以使用线程入口的汇编字节作为通讯的标识稳定性更强
相关文章
- 1 女子西藏旅途偶遇28岁骑行“大叔”
- 2 中甲联赛大连一赛场发生球员暴力事件
- 3 某网红下播时忘记关摄像头,直播间瞬间炸了
- 4 伪娘穿裙子跳舞看起来超级辣眼睛
- 5 棺材惊现巨蟒,尸体被蛇吃了骨头都不剩!
- 6 上海路炒粉、江一烧饼店事件吸引一波波流量
- 7 滴滴司机遇上性感美女打车,下一秒却立马请她下车!
- 8 胖猫跳江去世,5个意想不到
- 9 迈腾车主刚离家出门半小时就被绿,女友带其他男人回家
- 10 日本男子花百万日元将自己变成狗
- 11 真正的调整显示器亮度
- 12 PGE游戏引擎FC快打旋风
- 13 易语言Julia集图片源码
- 14 易语言ChartV1.0模块源码
- 15 易语言OFFICE文档转换成PDF源码
- 16 易语言网络电视源码
- 17 易语言SQLite3数据库操作类模块源码
- 18 易语言ICO提取工具源码
- 19 易语言程序备份器源码
- 20 模仿QQ游戏登陆界面
-
扫码下载安卓APP
-
微信扫一扫关注我们
微信扫一扫打开小程序
手Q扫一扫打开小程序
-
返回顶部
发表评论