vc++中进程通信之剪贴板常用函数
来源:互联网 发布:软件生存周期过程 编辑:程序博客网 时间:2024/05/29 16:39
操作系统中实现同一台机器上的不同进程之间的通信是非常重要的。一般来说,进程间的通信方法有三种:剪贴板、邮槽和管道。由于后两种方式需要一定的操作系统基础,此处就不作介绍。本节将详细介绍采用剪贴板进行进程通信的实现。
剪贴板常用函数
读者应该对剪贴板是比较熟悉的,当按下【Ctrl+C】键时,选中的内容就会复制到剪贴板中,然后再按下【Ctrl+V】键,可以将剪贴板上的内容复制到应用程序中。
说明:当要把一个进程上的内容复制到另一个进程上时,最简单的办法就是使用剪贴板。
在读者的印象中,通常认为剪贴板是传输数据的媒介,用户要复制的数据首先保存到剪贴板中。这种想法不能说是正确的。因为实际上要复制的数据并不是真的保存在剪贴板上,而是在一块内存区域中。而剪贴板同这块内存区域相关联。或者说,由剪贴板来管理这块内存区域。例如,这里要将进程A中的内容通过剪贴板复制到进程B中,大致遵循以下步骤。
在进程A自己的4GB的地址空间中申请一块内存。
把要复制的数据写到申请的内存块当中;再把内存块交给剪贴板管理器中。
进程B由剪贴板中取出数据。
下面是与剪贴板操作相关的一些函数。
? OpenClipboard函数:该函数用于打开剪贴板以检查或防止其他应用程序修改剪贴板中的内容。如果在本进程调用此函数来打开剪贴板之前,剪贴板已经被其他窗口打开,那么该函数调用将失败。此时,应该先调用CloseClipboard函数将剪贴板成功关闭之后再调用OpenClipboard打开。
? GlobalAlloc函数:该函数用于在堆上分配一块指定大小的内存区域。
? GlobalLock函数:该函数用于将一个内存块锁住,并返回一个指向内存块中第一个字节的指针变量,引用计数器加1。
? GlobalUnlock函数:该函数用于将被锁住的内存块进行解锁,引用计数器数字减1。
? SetClipboardData函数:该函数用于将内存块以指定的剪贴板的内容格式放到剪贴板管理器中。
? GetClipboardData函数:该函数用于从剪贴板中以指定的剪贴板的内容格式取出内存块。
? CloseClipboard函数:该函数用于关闭剪贴板,释放剪贴板资源。
- vc++中进程通信之剪贴板常用函数
- vc++中进程通信之剪贴板常用函数
- vc++中进程通信之剪贴板常用函数
- c++中进程通信之剪贴板常用函数
- 进程通信之剪贴板
- vc++之剪贴板通信实例
- vc++之剪贴板通信实例
- Windows进程通信之剪贴板
- C++进程通信之剪贴板
- 进程间通信之(一)剪贴板
- 进程间通信之剪贴板clipboard
- 孙鑫vc++ 17 进程间通信(1)剪贴板
- 进程通信_剪贴板
- VC常用进程函数
- 第17章,进程间通信之剪贴板
- C#中利用剪贴板进行进程间通信
- 进程间通信 - 剪贴板实现
- 进程间通信 剪贴板功能
- 七个顶级心理寓言[转帖]
- Java中计时器的使用
- 大项目、小项目都是程序员成熟之道
- 非对称加密RSA算法原理和DH密钥交换的简单理解
- TVS和一般的稳压二极管有什么区别
- vc++中进程通信之剪贴板常用函数
- 很好用的php执行时间分析工具webgrind
- 使用串口进行文件传输
- JAVA中取得的时间不是本地时间的问题
- Java 数据流2(PipedInputStream,PipedOutputStream)
- 面向过程和面向对象的编程
- DAISY社3D精品游戏 RIKUEST MOVIE 和 Hyper Impact 汉化补丁
- 星期二,微风,温度几十年同期最低
- shell脚本:批量添加文件后缀名