孙鑫vc++ 17 进程间通信(1)剪贴板
来源:互联网 发布:集体智慧编程 编辑:程序博客网 时间:2024/06/07 13:25
1.进程间通信方式
(1)剪贴板
(2)匿名管道
(3)命名管道
(4)邮槽
2.剪贴板代码
void CClipboardDlg::OnBnClickedBtnSend(){ // TODO: Add your control notification handler code here UpdateData(TRUE); //(1)打开剪贴板 if (OpenClipboard()) { //(2)清空剪贴板,将剪贴板的拥有者设置为当前窗口 EmptyClipboard(); HANDLE hClip; //(3)为了存储数据,开辟一块大小和格式固定的内存 hClip = GlobalAlloc(GMEM_MOVEABLE,m_strSend.GetLength()+1); char* pBuf; //(4)将开辟的内存锁定,并且返回此块内存的指针 pBuf = (char*)GlobalLock(hClip); strcpy(pBuf,m_strSend);//(5)开始复制控件中的数据进入内存 GlobalUnlock(hClip);//(6)解锁内存,将内存对象的锁计数减一 //(7)将数据放进剪贴板,设置对应的数据格式 SetClipboardData(CF_TEXT,hClip); //(8)关闭剪贴板,如果不调用此函数,其他应用程序就不能调用剪贴板 CloseClipboard(); } UpdateData(FALSE);} void CClipboardDlg::OnBnClickedBtnRecv(){ // TODO: Add your control notification handler code here //(1)打开剪贴板 if (OpenClipboard()) { //(2)查看剪贴板中是否有此种类型的数据 if (IsClipboardFormatAvailable(CF_TEXT)) { //(3)获得剪贴板的内存块首地址 HANDLE hClip = GetClipboardData(CF_TEXT); char* pBuf; //(4)锁定内存块并且得到内存块首地址的指针 pBuf = (char*)GlobalLock(hClip); //(5)接触锁定 GlobalUnlock(hClip); //(6)关闭剪贴板 CloseClipboard(); m_strRecv = (LPCTSTR)pBuf; } } UpdateData(FALSE);}
- 孙鑫vc++ 17 进程间通信(1)剪贴板
- 进程间通信(一):利用剪贴板
- 进程间通信之(一)剪贴板
- 孙鑫VC学习笔记:第十七讲 用剪贴板实现进程间的通信
- 孙鑫VC学习笔记:第十七讲 (一) 用剪贴板实现进程间的通信
- 进程间通信 - 剪贴板实现
- 进程间通信 剪贴板功能
- 进程间通信 - 剪贴板实现
- 进程间通信 - 剪贴板实现
- 进程间通信 - 剪贴板实现
- 进程间通信 - 剪贴板实现
- 进程间通信 - 剪贴板实现
- 进程间通信 - 剪贴板实现
- 孙鑫 第十七课进程间通信之一 剪贴板
- 第17章,进程间通信之剪贴板
- vc++中进程通信之剪贴板常用函数
- vc++中进程通信之剪贴板常用函数
- vc++中进程通信之剪贴板常用函数
- MySQL修改字段默认值
- 读《AskForHelp——提问的智慧》感想
- POJ 3126解题报告
- MySQL修改字段允许为空
- C#序列化和反序列化 .
- 孙鑫vc++ 17 进程间通信(1)剪贴板
- 二叉树的创建,节点删除,节点增加
- oracle学习之三(多表查询)
- 合并C#生成的多个DLL解决方案
- CSDN博客中的演示动画怎么做
- ARM复习题
- VC 坐标体系
- chromium UI库简介
- 2个char类型比较