win32剪切板学习笔记
2011-10-09 19:59 捣乱小子 阅读(521) 评论(0) 编辑 收藏 举报win32 api的剪切板操作很有趣。
①数据准备好后,向剪切板传输数据需要步骤:
HGLOBAL hGlobal;
PTSTR pGlobal;
hGlobal = ::GlobalAlloc(GHND|GMEM_SHARE,iSize);
//其中#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
pGlobal = (PTSTR)::GlobalLock(hGlobal);
//只有锁定时,才返回指针P
锁定之后就准备数据,将数据拷贝到pGlobal,注意拷贝之后就解锁;解锁之后再将其设置到剪切板。
::OpenClipboard(hwnd);
::EmptyClipboard();
::SetClipboardData(iFormat,hGlobal);
::CloseClipboard();
②从剪切板提取数据:
::OpenClipboard(hwnd);
pText = (PTSTR)malloc(::GlobalSize(hGlobal));
lstrcpy(pText,pGlobal);
//while(pText++ = pGlobal++)
更多请访问:http://daoluan.net