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:进程间通信的更多相关文章

  1. 孙鑫MFC学习笔记12:文件读写

    1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...

  2. 孙鑫MFC学习笔记14:网络编程

    1.OSI 2.TCP/IP与OSI对应关系 3.Socket 4.客户机/服务器模式 5.Windows Sockets 6.套接字类型 7.面向连接的socket编程 8.面向无连接的socket ...

  3. 孙鑫MFC学习笔记13:文档

    1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源 ...

  4. 孙鑫MFC学习笔记11:保存图像

    1.CPtrArray指针数组 2.CPtrArray返回void指针,需要做类型转换 3.View类中的OnPaint调用OnPrepareDC和OnDraw,如果覆盖OnPaint,就不会调用On ...

  5. 孙鑫MFC学习笔记10:画图/贴图

    1.SetPixel在指定点设置像素 2.虚线.点线宽度必须为1 3.CColorDialog创建颜色对话框 4.需要设置CC_RGBINIT标志才能设置颜色对话框的默认颜色 5.CC_FULLOPE ...

  6. 孙鑫MFC学习笔记9:状态栏与工具栏编程

    1.在窗口创建之前就应该修改窗口的样式 2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题 3.在窗口创建完成后,可以通过SetWi ...

  7. 孙鑫MFC学习笔记7:对话框编程(上)

    1.DoModal创建模态对话框 2.Create创建非模态对话框(需要用ShowWindow显示出来) 模态:对话框显示,程序会暂停,直到对话框关闭 非模态:对话框显示,程序继续执行 3.对于模态对 ...

  8. 孙鑫MFC学习笔记6:菜单编程

    1.对菜单响应的顺序: 视类,文档类,框架类,应用程序类 2.消息的分类 3.CWnd继承自CCmdTarget类, 所以从CWnd派生出的类也可以接收WM_COMMAND消息 4.命令的消息路由 5 ...

  9. 孙鑫MFC学习笔记5:文本显示

    1.CreateSolidCaret添加一个插入符 参数:宽度,高度 如果设为0,就设为默认窗口边界的宽度和高度 2.GetSystemMetrics获取默认窗口边界的宽度和高度 3.Caret在创建 ...

随机推荐

  1. [HIMCM暑期班]第3课:一个博弈问题

    在一个街道平面图上,住着n个住户.有两个贩卖热狗的商贩,各自想要在街区里摆设一个小摊.每天住户都会去离他家50米范围内的最近的摊点消费.问: 1. 如果两位小贩摆设小摊的顺序有先后(设A先摆,然后B再 ...

  2. node.js1

    node的helloworld是非常的简单. 下载node绿色安装包即可.转至node.exe所在目录——写一个hw.js,然后cmd下执行node hw.js——返回相应结果.. http://ww ...

  3. 这里有个坑---js日期格式yyyy-MM-dd与yyyy/MM/dd

    这里有个坑,---------每一个遇到的坑总结后都是一比财富. 我们写脚本的时候,一般定义一个日期格式会使用“2015-12-21”和“2015/12/21”两种数据格式,由于各取所需日期格式并没有 ...

  4. Oracle增删改DML脚本记录

    --insert into添加数据 ','王军','男'); --提交事物 commit; --回滚事物 --rollback; insert into teacher1 select * from ...

  5. 我心中的核心组件(可插拔的AOP)~第五回 消息组件

    回到目录 之所以把发消息拿出来,完全是因为微软的orchard项目,在这个项目里,将公用的与领域无关的功能模块进行抽象,形成了一个个的组件,这些组件通过引用和注入的方式进行工作,感觉对于应用程序的扩展 ...

  6. Mybatis文档阅读笔记(明日继续更新...)

    今天在编写mybatis的mapper.xml时,发现对sql的配置还不是很熟,有很多一坨一坨的东西,其实是可以抽取成服用的.不过良好的组织代码,还是更重要的.

  7. Java中static的理解

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  8. Android开发之注册登录

    昨天给大家介绍了一下关于Android端向服务器端发送数据的方法,不过貌似有一点瑕疵,今天经过调试已经解决,在这里给大家介绍一下 貌似Android4.0以后版本的对于网络权限要求变得严格,导致昨天编 ...

  9. AIX下如何根据端口号查找相应的进程

    1. $ netstat -Aan |grep 8080 f1000e0002321bb8 tcp 0 0 *.8080 *.* LISTEN 2. $ rmsock f1000e0002321bb8 ...

  10. WebStorm 9 自动编译 LESS 产出 CSS 和 source maps

    1.双击桌面Chrome图标,打开Chrome,按键盘“F12”键,打开开发工具界面,点击其右上角的“设置”按钮,勾选“Enable JavaScript source maps”  及“Enable ...