GetClipboardData

#in #in in

獲取剪貼簿內容
用OpenClipboard打開剪貼簿
EnumClipboardFormats加while來循環出一個可用的剪貼簿格式
使用GetClipboardData獲得剪貼簿的記憶體塊首地址
用GlobalLock鎖定剪貼簿那記憶體塊
GlobalSize可以用來獲取該記憶體塊的大小
使用GlobalUnlock解除鎖定
CloseClipboard關閉剪貼簿
示例代碼:
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
if (!OpenClipboard(NULL))
{
return 0;
}
HGLOBAL hMem = NULL;
LPCTSTR LPSTR = NULL;
UINT uFormat = NULL;
while (TRUE)
{
uFormat = EnumClipboardFormats(uFormat);
if (uFormat > 0)
{
hMem = GetClipboardData(uFormat);
lpStr = (LPCTSTR)::GlobalLock(hMem);
if (lpStr != NULL)
{
printf("The address is 0x%0x\n", hMem);
break;
}
}
else
{
return 0;
}
}
DWORD dwSize = GlobalSize(hMem);
printf("The size of clipboard : %ld",dwSize);
for (DWORD dw = 0 ;dw<dwSize;dw++)
{
if (dw%21 == 0)
{
printf("\n");
}
printf("%02x ",(UCHAR)lpStr&#91;dw&#93;);
}
printf("\n");
GlobalUnlock(hMem);
CloseClipboard();
return 0;
}

相關詞條

相關搜尋

熱門詞條

聯絡我們