如何将GIF图片复制到剪贴板,能在其它程序(如:QQ聊天窗口)中粘贴。
要用Ole剪贴板来实现吗? 我试过用下面的剪贴板函数,粘贴的数据无法识别。
OpenClipboard();
EmptyClipboard();
SetClipboardData();哪位达人知道该如何实现? (分不够可以再加)
要用Ole剪贴板来实现吗? 我试过用下面的剪贴板函数,粘贴的数据无法识别。
OpenClipboard();
EmptyClipboard();
SetClipboardData();哪位达人知道该如何实现? (分不够可以再加)
首先你应该针对你的应用来谈,因为这不是一个通用问题,比如说 QQ可以实现粘贴 gif 文件的功能,我们来看看QQ是怎么实现的,QQ自己定义了一个数据结构,我这里贴一下其中的数据:
50 c3 06 00 09 c0 04 00 00 00 1a 02 00 00 44 61
74 61 4f 62 6a 65 63 74 00 00 00 00 00 00 00 00
这是 QQ 自己定义的,所以它能很方便的把这个图像再次贴回来,如果是其他的程序,那么肯定是不行了,如果你需要在你的程序中现实这个功能(把QQ里复制的gif粘贴到你自己的程序中),那么你可以解析QQ的这个数据结构,并且取得该文件数据
我注意到一个现象:QQ聊天窗口中的自定义表情,将其复制后在画图等其它软件中可以粘贴,但粘贴出来的是位图(仅为GIF的第一帧)。请问8楼是如何知道QQ自定义格式的?你如何读取在QQ中复制的内容?若用GetClipboardData(uFormat),怎样知道uFormat参数应该填什么(CF_???)?
至于如何用代码来实现,你仔细研究一下它的格式应该就清楚了
感谢楼上提供的clipbrd,研究剪贴板中的数据格式后解决了问题。