当前位置: 首页 > news >正文

基层建设网站海南网站建设制作

基层建设网站,海南网站建设制作,邢台同城,微信营销网络营销方式win32进程间通信 文件映射共享内存匿名管道命名管道远程过程调用#xff08;RPC#xff09;对象连接与嵌入#xff08;OLE#xff09;动态数据交换#xff08;DDE#xff09;剪贴板WM_COPYDATA消息邮件槽其它 文件映射 特点#xff1a;本地间通信#xff0c;不能用于网… win32进程间通信 文件映射共享内存匿名管道命名管道远程过程调用RPC对象连接与嵌入OLE动态数据交换DDE剪贴板WM_COPYDATA消息邮件槽其它 文件映射 特点本地间通信不能用于网络需控制进程同步 三种方法来使多个进程共享一个文件映射对象 继承。父进程创建文件映射对象子进程继承其句柄命名文件映射。给文件映射对象一个名字其它进程通过名字其它IPC传递打开映射对象句柄复制。通过其它IPC通信方式传递对象句柄到另一个进程 共享内存 特点文件映射的一种特殊方式 进程在创建文件映射对象时用0xFFFFFFFF来代替文件句柄(HANDLE)就表示了对应的文件映 射对象是从操作系统页面文件访问内存其它进程打开该文件映射对象就可以访问该内存块。 匿名管道 特点父子进程通信或者子进程间通信不能在两个不相关进程通信子进程标准I/O重定向 两个带句柄的进程作为2个端点建立一条通信通道一般一段负责读另一端负责写也可以做成两端可读写 命名管道 特点可进行远程通信服务器但在1对多的情况下较困难 服务器端本地进程创建命名管道远端打开这个管道根据给定的权限跟其它服务器通信 远程过程调用RPC 特点实现远程接口本地调用跨操作系统远程通信 Win32 API提供的远程过程调用(RPC)使应用程序可以使用远程调用函数通过Win32 API编写的RPC应用程序能与其它操作系统上支持DEC的RPC应用程序通信 对象连接与嵌入OLE 特点可嵌套电子表格打开自启动表格编辑器关闭自动更新表格文档 应用程序利用对象连接与嵌入(OLE)技术管理复合文档(由多种数据格式组成的文档)OLE提供使某应用程序更容易调用其它应用程序进行数据编辑的服务。 动态数据交换DDE 特点自定义数据格式远端操作 动态数据交换(DDE)是使用共享内存在应用程序之间进行数据交换的一种进程间通信形式。 DDE有 三种数据交换方式 (1) 冷链数据交换是一次性数据传输与剪贴板相同。 (2) 温链当数据交换时服务器通知客户然后客户必须请求新的数据。 (3) 热链当数据交换时服务器自动给客户发送数据。 剪贴板 特点操作简单有丰富的API函数windows应用程序间通信 剪贴板为Windows应用程序之间进行数据共享提供了一个中介是一个非常松散的交换媒介支持任何数据格式只需在数据格式上一致或都可以转化为某种格式就行 // 常用数据格式 #define CF_TEXT 1 #define CF_BITMAP 2 #define CF_METAFILEPICT 3 #define CF_SYLK 4 #define CF_DIF 5 #define CF_TIFF 6 #define CF_OEMTEXT 7 #define CF_DIB 8 #define CF_PALETTE 9 #define CF_PENDATA 10 #define CF_RIFF 11 #define CF_WAVE 12 #define CF_UNICODETEXT 13// 复制内容到剪贴板 if (OpenClipboard(m_hWnd)) {CStringW strWide CStringW(L这是测试内容);int nLen strWide.GetLength();::EmptyClipboard();HANDLE clipbuffer ::GlobalAlloc(GMEM_DDESHARE, (nLen 1) * 2);if (!clipbuffer){::CloseClipboard();return;}char* buffer (char*)::GlobalLock(clipbuffer);memset(buffer, 0, (nLen 1) * 2);memcpy_s(buffer, nLen * 2, strWide.GetBuffer(0), nLen * 2);strWide.ReleaseBuffer();::GlobalUnlock(clipbuffer);::SetClipboardData(CF_UNICODETEXT, clipbuffer);::CloseClipboard(); }// 粘贴剪贴板内容 OpenClipboard(m_hWnd); if (IsClipboardFormatAvailable(CF_UNICODETEXT)) {//取出数据 HGLOBAL hg GetClipboardData(CF_UNICODETEXT);//锁定内存块 LPWSTR wstr (LPWSTR)GlobalLock(hg);if (wstr ! NULL){MyMessageBox(wstr);}GlobalUnlock(hg); } CloseClipboard();注意复制和粘贴的内容格式保持一致。 WM_COPYDATA消息 特点操作简单通信安全底层通过文件映射实现 通过调用SendMessage函数接收方像处理普通消息一样在数据拷贝完成前不返回这样发送方就不可能删除和修改数据可实现安全传输 // 数据结构 typedef struct tagCOPYDATASTRUCT{ DWORD dwData;//用户定义数据 DWORD cbData;//数据大小 PVOID lpData;//指向数据的指针 }COPYDATASTRUCT;// 发送方 char copystr[] hello world! ; CopyData.dwData 1;//这个是自定义数据随意填 CopyData.cbData strlen(copystr);//发送数据的大小 CopyData.lpData (char*)copystr;//指向数据的指针 ::SendMessage(g_pHwnd, WM_COPYDATA, 0, (LPARAM)CopyData);// 接收方 COPYDATASTRUCT *pCopyData (COPYDATASTRUCT*)lParam; char *pData new char[pCopyData-cbData1]; memcpy(pData, pCopyData-lpData , pCopyData-cbData); pData[pCopyData-cbData] \0;邮件槽 特点双向通信数据传输不可靠UDP包有简化的编程接口可进行进程消息广播 进程服务器创建邮件槽其它进程作为邮件槽客户客户通过邮件槽名字给进程服务器发消息 实现单向通信。任何进程都可创建邮件槽故可进行双向通信。 其它 除了这些进程间通信方式还有很多。如 socket套接字经常使用的动态链接库DLL全局数据实现共享NetBios函数处理低级网络控制不常用
http://www.hkea.cn/news/14285857/

相关文章:

  • 安徽盛绿建设网站单位网站开发合同范本
  • 网站开发软件三剑客做饲料机械的网站
  • 做微商建自己的网站有用吗虚拟主机如何做多个网站
  • 石家庄网站建设加王道下拉制作企业网页的公司
  • 淘宝导购网站模版阿里云虚拟主机做多个网站
  • 什么网站可以发布信息如何免费让网站上线
  • 邯郸网站设计哪家专业wordpress插件改图标
  • 网站上怎么做福彩卖家ps制作个人网站首页
  • 网站建设销售工资成都信用
  • 肇庆网站建设咨询如何将WORDPRESS主题换成英文
  • 网站搜索防止攻击wordpress站群管理系统
  • 浙江省建设工程质量管理协会网站邯郸做网站多少钱
  • dede做招聘网站wordpress分站
  • 怎样给网站做推广做网站必须要电脑吗
  • 手机壳在线设计网站建站宝盒里的手机网站
  • 衡阳县做淘宝网站建设机械 网站源码
  • 网上做效果图网站移动网站建设价格便宜
  • dede怎么做网站集团酒店网站建设
  • 徐州制作手机网站建设网站的必要与可行性
  • 网站开发那种语言好判断 摘要wordpress
  • 上海知名网站开发公司动漫设计与制作图
  • 免费网站建设培训室内装修效果图
  • 专业网站设计公司有哪些滴滴优惠券网站怎么做
  • 学校网站建设具体分工申请个人网站和企业官网有什么不同
  • 互联网站外推广大连手机自适应网站制作公司
  • 美团网网站建设分析有效的网络编址方案有
  • 云南网站备案网站维护年费
  • 商丘给企业做网站的公司洛阳网站改版
  • 做网站维护要学些什么·物业公司企业文化建设
  • 汕头市建设局网站磐安县住和城乡建设局网站