资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
一、创建对话框应用程序工程二、编辑对话框资源控件ID及标题IDD_THREAD_DIALOG用剪贴板实现进程间通信IDC_STATIC进程1发送数据:IDC_EDIT_SENDIDC_STATIC进程2接收数据:IDC_EDIT_RECIDC_SEND 发送IDC_REC 接收三、添加消息响应函数四、于“ThreadDlg.cpp”文件内添加消息响应函数代码void CThreadDlg:OnRec() / TODO: Add your control notification handler code hereif(OpenClipboard()if(IsClipboardFormatAvailable(CF_TEXT)HANDLE clipboard;char* buf;clipboard=GetClipboardData(CF_TEXT);buf=(char*)GlobalLock(clipboard); GlobalUnlock(clipboard);SetDlgItemText(IDC_EDIT_REC,buf); CloseClipboard();void CThreadDlg:OnSend() / TODO: Add your control notification handler code hereif(OpenClipboard()/打开剪贴板CString str;HANDLE clipboard;char * buf;EmptyClipboard(); /清空剪贴板GetDlgItemText(IDC_EDIT_SEND,str);clipboard=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);buf=(char*)GlobalLock(clipboard); /空字符作文本数据结尾,多分配一个字节 strcpy(buf,str); GlobalUnlock(clipboard); SetClipboardData(CF_TEXT,clipboard); CloseClipboard();五、编译六、运行七、函数说明 1、SetClipboardData()函数声明HANDLE SetClipboardData( UINT nFormat, /剪贴板格式 HANDLE hMen /特定格式之数据句柄 ) 功能:以特定剪贴板格式复制数据到剪贴板。函数调用成功,返回数据句柄;失败,返回NULL,可用GetLastError()函数获取详细错误信息。 2、GetClipboardData()函数声明HANDLE GetClipboardData( UINT uFormat /剪贴板模式 ) 功能:以特定模式获取剪贴板信息。函数调用成功,返回非零值;失败,返回零。 3、GlobalLock()函数声明LPVOID GlobalLock( HGLOBAL hMen /指向全局内存对象之句柄。 ) 功能:锁定一全局内存对象。函数调用成功,返回内存对象第一个字节的指针;失败,返回NULL,可用GetLastError()函数获取详细错误信息。 4、GlobalUnlock()函数声明LPVOID GlobalUnlock( HGLOBAL hMen /指向全局内存对象之句柄。 ) 功能:解除一全局内存对象之锁定。函数调用成功,返回非零值;失败,返回NULL,可用GetLastError()函数获取详细错误信息。 5、GlobalAlloc()函数声明HGLOBAL GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1)( UINT fFlags, /内存分配相关参数。 SIZE_T dwBytes /内存分配之大小 ) 功能:分配一定数量之堆内存。函数调用成功,返回指向新分配内存对象只句柄;失败,返回NULL,可用GetLastError()函数获取详细错误信息。 6、CloseClipboard()函数声明BOOL CloseClipboard(void) 功能:关闭剪贴板。函数调用成功,返回非零值;失败,返回零。 7、EmptyClipboard()函数声明BOOL EmptyClipboard(void) 功能:清空剪贴板,同时释放剪贴板中的数据句柄。函数调用成功,返回非零值;失败,返回零。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号