孙鑫MFC学习笔记17:进程间通信
17
1.进程间通信4种方式
2.OpenClipboard打开剪贴板
3.EmptyClipboard清空剪贴板,并把所有权分配给打开剪贴板的窗口
4.SetClipboardData设置剪贴板数据格式
5.GlobalAlloc从堆中分配内存
6.GlobalLock对全局内存对象加锁,返回内存指针
7.GlobalUnlock解锁内存对象
8.发送剪贴板步骤:
OpenClipboard打开剪贴板
EmptyClipboard清空剪贴板
SetClipboardData设置数据类型
GlobalAlloc分配可移动内存对象
GloabalLock锁定内存对象,获取内存指针
写入数据
GlobalUnlock解锁内存对象
SetClipboardData设置剪贴板数据
CloseClipboard关闭剪贴板
9.GetClipboardData获取剪贴板数据
10.IsClipboardFormatAvailable检测剪贴板是否包含指定类型数据
11.接收剪贴板步骤
OpenClipboard打开剪贴板
IsClipboardFormatAvailable判断是否有指定格式数据
GetClipboardData获取内存对象句柄
GlobalLock获取内存指针(已取出数据)
GlobalUnlock解锁内存对象
CloseClipboard关闭剪贴板
12.CreatePipe创建匿名管道,返回管道读写句柄
13.CreateProcess创建一个进程
14.ZeroMemory将制定内存块设为0
15.GetStdHandle获取标准句柄
16.ReadFile、WriteFile读写管道
17.OnInitialUpdate虚函数是窗口创建完成后调用的第一个函数
匿名管道使用步骤:
CreatePipe创建管道,返回读写句柄(安全性参数需要设置)
CreateProcess将读写句柄传给子进程
子进程通过GetStdHandle获取读写句柄
18.命名管道
19.CreateNamedPipe创建命名管道
20.ConnectNamedPipe允许客户端进程等待一个客户端连接到命名管道实例上
21.命名管道创建步骤:
CreateNamedPipe创建命名管道
CreateEvent创建事件对象放入OVERLAPPED结构体
ConnectNamedPipe等待客户端连接
WaitForSingleObject等待事件
22.WaitNamedPipe等待一个命名管道
23.客户端连接管道步骤
WaitNamedPipe检测管道是否可用
CreateFile连接管道
管道读写使用ReadFile,WriteFile
24.邮槽
23.CreateMailslot创建邮槽
在发送数据时用CreateFile打开邮槽,需要设置FILE_SHARE_READ供接收端读取
孙鑫MFC学习笔记17:进程间通信的更多相关文章
- 孙鑫MFC学习笔记12:文件读写
1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...
- 孙鑫MFC学习笔记14:网络编程
1.OSI 2.TCP/IP与OSI对应关系 3.Socket 4.客户机/服务器模式 5.Windows Sockets 6.套接字类型 7.面向连接的socket编程 8.面向无连接的socket ...
- 孙鑫MFC学习笔记13:文档
1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源 ...
- 孙鑫MFC学习笔记11:保存图像
1.CPtrArray指针数组 2.CPtrArray返回void指针,需要做类型转换 3.View类中的OnPaint调用OnPrepareDC和OnDraw,如果覆盖OnPaint,就不会调用On ...
- 孙鑫MFC学习笔记10:画图/贴图
1.SetPixel在指定点设置像素 2.虚线.点线宽度必须为1 3.CColorDialog创建颜色对话框 4.需要设置CC_RGBINIT标志才能设置颜色对话框的默认颜色 5.CC_FULLOPE ...
- 孙鑫MFC学习笔记9:状态栏与工具栏编程
1.在窗口创建之前就应该修改窗口的样式 2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题 3.在窗口创建完成后,可以通过SetWi ...
- 孙鑫MFC学习笔记7:对话框编程(上)
1.DoModal创建模态对话框 2.Create创建非模态对话框(需要用ShowWindow显示出来) 模态:对话框显示,程序会暂停,直到对话框关闭 非模态:对话框显示,程序继续执行 3.对于模态对 ...
- 孙鑫MFC学习笔记6:菜单编程
1.对菜单响应的顺序: 视类,文档类,框架类,应用程序类 2.消息的分类 3.CWnd继承自CCmdTarget类, 所以从CWnd派生出的类也可以接收WM_COMMAND消息 4.命令的消息路由 5 ...
- 孙鑫MFC学习笔记5:文本显示
1.CreateSolidCaret添加一个插入符 参数:宽度,高度 如果设为0,就设为默认窗口边界的宽度和高度 2.GetSystemMetrics获取默认窗口边界的宽度和高度 3.Caret在创建 ...
随机推荐
- 字符串正则替换replace第二个参数是函数的问题
按照JS高程的说法,如下 replace()方法的第二个参数也可以是一个函数.在只有一个匹配项(即与模式匹配的字符串)的情况下,会向这个函数传递3个参数:模式的匹配项.模式匹配项在字符串中的位置和原始 ...
- Node.js入门:模块机制
CommonJS规范 早在Netscape诞生不久后,JavaScript就一直在探索本地编程的路,Rhino是其代表产物.无奈那时服务端JavaScript走的路均是参考众多服务器端语言来 ...
- 函数柯理化以及利用柯理化实现bind方法
1.函数柯理化 把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术. 柯理化函数思想:一个js预先处理的思想:利用函数执行可以形 ...
- Atitit ocr识别原理 与概论 attilax总结
Atitit ocr识别原理 与概论 attilax总结 1.1. Ocr的过程与流程1 1.2. OCR不同技术细分略有不同,但大概原理是一样的. 即主要技术过程是:二值化(又叫归一化)----- ...
- Java集合框架的总结
本篇文章先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析.当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进 ...
- iOS-性能优化4
UITableView性能优化技巧 Table view需要有很好的滚动性能,不然用户会在滚动过程中发现动画的瑕疵. 为了保证table view平滑滚动,确保你采取了以下的措施: 正确使用`reus ...
- 自定义Image自动切换图像控件
做这么一个控件,图片自动切换,形成动画效果. 随便的码码,码完发现东西太少了,不过还算完善. public class MyPictureBox : PictureBox { Timer timer ...
- Html标签之frameset&图片切换
今天为大家分享一下刚刚总结好的html经验,以备不时之需. 首先介绍一下frameset标签,此标签用于同一页面内切换网页,在大多数网页中都可以看到,因为项目的需要,故而研究一二. frameset标 ...
- java session 详解
原网址:http://blog.sina.com.cn/s/blog_670b6d880101deff.html 一.术语session 在我的经验里,session这个词被滥用的程度大概仅次于tra ...
- CSDN 论坛招聘区是不是有潜规则?在Cnblog招个人试试...
CSDN 论坛招聘区是不是有潜规则? 在招聘区发了两个招聘贴都被删掉了... 而且没有任何提示和原因,或者站内短信提示.... 虽然csdn现在很水...不过在那边之前待了几年还是有点感情的 想顺便内 ...