现在的位置: 首页 > 综合 > 正文

win32剪切板学习笔记

2013年05月01日 ⁄ 综合 ⁄ 共 475字 ⁄ 字号 评论关闭

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++)

抱歉!评论已关闭.