命名管道

IPC之---管道

☆樱花仙子☆ 提交于 2019-11-27 00:40:21
进程间通信———管道 什么是进程间通信 进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程的运行,进程之间必须互相通话。举个例子来说,也就是说用一些方法让两个本来不能见面的人见面。IPC接口就提供了这种可能性。那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。另外,系统空间是“公共场所”,各进程均可以访问,所以内核也可以提供这样的条件。下面一副图来说明进程间的通信。 进程间通信的方法:主要包括管道, 系统IPC(包括消息队列,信号,共享存储), 套接字(SOCKET).(下面主要介绍管道,匿名管道和命名管道) 管道包括以下三种: <1>普通管道PIPE,特点就是: 1.单向通信。 2.只有在具有亲缘关系的进程间通信(父子,兄弟)。 3.具有同步机制。(写什么,读什么) 4.他是一种面向字节流的通信服务。 5.生命周期随进程(也就是说,当与之相关的进程退出时,管道内申请的空间不管有没有释放系统都会释放它;就是说只要进程退出了,管道也就随之退出。比如,在管道中申请了堆空间

ADB管道通信

被刻印的时光 ゝ 提交于 2019-11-26 16:02:33
打開剪貼板: OpenClipboard 返回值為BOOL,成功返回非0,若失敗或剪貼板被佔用,返回0. CloseClipboard:關閉 EmptyClipboard:清空 前一個程序調用關閉,後一個程序調用清空后,打開剪貼板的當前窗口才擁有剪貼板。 SetClipboardData向剪貼板中防止數據。 參數: nFormat:剪貼板格式 hMem:具有指定格式的數據的句柄 ------------------------------------------------------------------- 延遲提交技術 ------------- 第一次調用SetClipboardData時,將其hMem參數設置為NULL,在剪貼板上以指定的剪貼板格式放置一個 空的剪貼板數據塊。然後直到其他進程需要數據或自身進程需要終止運行時再次調用SetClipboardData函數,這次 才真正提交數據(不需再調用OpenClipboard和EmptyClipboard) IsClipboardFormatAvailable(format)//檢測剪貼板上是否包含了參數format指定的格式的數據 GetClipboardData(CF_TEXT);//從剪貼板上獲得指定數據 --------------------------------------------------------