1.剪贴板操作:
<1>使用剪贴板之前必须先调用OpenClipboard()函数确定是否打开,通过返回值判断是否成功.
<2>在使用剪贴板之前,可能有其他程序使用剪贴板,必须清空,才能使窗口具有对剪贴板的所有权.EmptyClipboard()
<3>放置数据SetClipboardData()
<4>延迟提交技术.设置数据块句柄为NULL,(首先设置空数据块),直到其他进程需要数据的时候,才提交,否则数据会占用内存,
<5>内存分配函数GlobalAlloc(GMEM_MOVEABLE,sgtr.GetLength()+1);
文本数据为什么加+1;文本数据放在剪贴板上面时候,(以空字符结尾),剪贴板会将最后一个字节放置一个空,这样数据会丢失,所以多分配一个.
<6>将句柄转化为指针.调用GlobalLock()函数.
//读取数据
<1>打开,判断剪贴板内是否有我们想要的数据格式,进行判断IsClipboardFormatAvailableIsClipboardFormatAvailable();
<2>将句柄转化为地址,GlobalLock()转化为指针.使用完之后,解锁,然后关闭剪贴板.