剪切板使用详解

剪切板:系统维护的一个全局公共内存区域,每次只允许一个进程对其进行访问。
1.打开剪切板
Bool OpenClipboard(HWND hWndNewOwner);
指定关联到打开剪切板的窗口句柄,传入NULL表示关联到当前任务。每次只允许一个进程打开并访问,每一次打开就要关闭,否则其他的进程无法访问剪切板。
2.清空剪切板
Bool EmptryClipboard(void)
写入前必须先清空,得到剪切板占有权。
3.分配内存
HGLOBAL GlobalAlloc(UNIT uFlags,SIZE_T dwBytes);
在堆上动态分配以字节为单位的内存区域,成功则指向该内存,失败NULL,参数:1.分配内存属性,2.分配的大小
4.锁定内存
LPVOID FlobalLock(HGLOBAL hMem);
锁定由GlobalAlloc分配的内存,并将内存对象的锁定计数器+1,成功返回指向内存对象起始地址的指针。失败NULL,系统为每个全局内存对象维护一个锁定计数器,初始为0,GlobalLock使计数器+1,GlobalUnLock计数器-1.一旦计数器值大于0,这块内存区域将不允许被移动或删除,只有当为0时,才解除对这块内存的锁定。如果分配时GMEM_FIXED属性,计数器一直为0。
5.设置剪切板
HANDLE SetClipboardData(UINT uFormat, HANDLE hMem);
执行成功,返回数据句柄,否则返回NULL
6.解除锁定
BOOL GlobalUnlock(HGLOBAL hMem);
将GlobalAlloc分配的属性为GMEM_MOVEABLE的内存对象计数器-1.
7.关闭剪切板
Bool CloseClipboard(void);
必须关闭剪切板其他进程才能使用剪切板,且关闭后当前进程就不能写入数据。
8.获取剪切板数据
HANDLE GetClipboardData(UINT uFormat);
执行成功,返回数据句柄,否则返回NULL数据格式,指定格式的数据的句柄

时间: 2024-10-12 14:01:02

剪切板使用详解的相关文章

vi和vim区别及命令详解

vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本.vi使用于文本编辑,但是vim更适用于coding.     现将vim的命令行收集于下: vi有3个模式:插入模式.命令模式.低行模式. 插入模式:在此模式下可以输入字符,按ESC将回到命令模式.     命令模式:可以移动光标.删除字符等.     低行模式:可以保存文件.退出vi.设置vi.查找等功能(低行模式也可以看作是命令模式里的). 一.打开文件.保存.关闭文件(vi命令模式下使用) vi file

第四天-secureCRT-ssh客户端使用详解

详细出处参考详解: http://www.cr173.com/html/24759_1.html http://jingyan.baidu.com/article/ff41162581e24a12e48237d1.html http://www.tuicool.com/articles/qmieay SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧 VanDyke CRT 和 VanDy

C#中const用法详解

本文实例讲述了C#中const用法.分享给大家供大家参考.具体用法分析如下: const是一个c语言的关键字,它限定一个变量不允许被改变.使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助.另外const在其他编程语言中也有出现,如c++.php5.c#.net.hc08 c const 一般修饰 的变量为只读变量 const定义应该为在定义的时候初始化 以后不能改变他的值 例: 代码如下: const

[.NET开发] C#实现剪切板功能

C#剪切板 Clipboard类 我们现在先来看一下官方文档的介绍 位于:System.Windows.Forms 命名空间下 Provides methods to place data on and retrieve data from the system Clipboard. This class cannot be inherited. 提供一些方法来存放数据和取回数据从系统的剪切板,这个类不能被实例化. 从官方的描述我们可以看出Clipboard是一个用来存放一些临时数据来用的...

FY650四轴无人机安装全程详解(多图)

FY650四轴无人机安装全程详解(多图) 本文根据自己的安装实际过程,总结了箱后的一个比较合理的650四轴无人机安装顺序,以及各个步骤的注意事项,主要内容包括: 系统基本配置 机架安装 安装机臂与机架上板 安装机架底板与挂载架 安装折叠起落架 电子系统安装 安装马达与电调 安装飞控与电子设备 安装锂电池与云台 安装螺旋桨 一.基本配置 本次安装的基本配置如下: 机架: 飞越640sport机架×1 动力: 朗宇4110S 380kv马达×4 好盈铂金30A电调×4 锂电池:5200mAh 35C

Android之canvas详解

首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, t

CWnd::Attach()详解

CWnd::Attach Attaches a Windows window to a CWnd object. BOOL Attach(    HWND hWndNew ); Parameters hWndNew Specifies a handle to a Windows window. 一个概念:C++对象和Windows对象的区别(来自MSDN) The window object is an object of the C++ CWnd class (or a derived cla

chrome浏览器下JavaScript实现clipboard时无法访问剪切板解决方案

在用JavaScript实现某个简单的复制到剪切板功能的时候,会考虑一下浏览器兼容性,主要是重点在IE和FireFox,把这个两个浏览器搞定后,基本上其他浏览器也不用太操心了,Chrome也一样,没出什么问题.但是Chrome用的好好的,突然过了一个月,就无法实现复制到剪切板了.一时不知道什么原因.网上查了一下,有这样一原因:安全问题,浏览器默认禁止访问剪贴板. 从代码层面,想了各种方法,去解决兼容性,都无济于事,就是解决不了Chrome的兼容性. 贴一下JavaScript一款通用的复制粘贴方

谷歌搜索参数url参数详解

谷歌搜索表单参数url参数详解 q(Query):查询的关键词,搜索查询q是必需的URL参数之一,其他都是可选的. 当q的值包含多个单词时,用加号分隔每个单词.(text) hl(Interface Language):Google搜索的界面语言hl=zh-CN简体中文语言界面,我们用的Google中文就是这个参数.hl=zh-TW繁体中文语言界面,港台地区常使用hl=en-英文语言界面 lr(Language Restrict):搜索内容的语言限定限定只搜索某种语言的网页.如果lr参数为空,则