首页 / 软件开发 / C++ / Visual C++剪贴板操作不完全攻略
Visual C++剪贴板操作不完全攻略2010-05-27经常在论坛上见到一些使用者询问如何在Visual C++中如何实现对剪贴板的操作,其实在VC++/MFC中是相当简单的。本文主要介绍了如下内容:1、文本内容的操作2、WMF数据的操作3、位图的操作4、设置使用自定义格式5、感知剪贴板内容的改变6、自动将数据粘贴到另一应用程序窗口一、文本内容的操作下面的代码示范了如何将文本内容复制到剪贴板:Cstring source;
//文本内容保存在source变量中
if(openClipboard())
{
HGLOBAL clipbuffer;
char * buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE, dource.GetLength()+1);
buffer = (char*)GlobalLock(clipbuffer);
Strcpy(buffer, LPCSTR(source));
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
}
下面的代码显示了如何从剪贴板上获得文本内容:char * buffer = NULL;
//打开剪贴板
CString fromClipboard;
if ( OpenClipboard() )
{
HANDLE hData = GetClipboardData(CF_TEXT);
char * buffer = (char*)GlobalLock(hData);
fromClipboard = buffer;
GlobalUnlock(hData);
CloseClipboard();
}