拷贝字符串到Windows剪贴板

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

// hWnd可以为NULL, lpszText为需要拷贝的字符串

BOOL CopyStringToClipboard(HWND hWnd, LPCTSTR lpszText)

{

int nlen = strlen(lpszText);

if (nlen == 0)

return FALSE;

// 将szText中的内容复制到剪贴板

HGLOBAL hglbCopy;

LPTSTR lptstrCopy;

if (!::OpenClipboard(hWnd))

return FALSE;

hglbCopy = GlobalAlloc(GMEM_DDESHARE,

(nlen + 1) * sizeof(char));

if (hglbCopy == NULL)

{

CloseClipboard();

return FALSE;

}

EmptyClipboard();

lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);

memcpy(lptstrCopy, lpszText, nlen);

lptstrCopy[nlen] = (TCHAR) 0; // null character

GlobalUnlock(lptstrCopy);

SetClipboardData(CF_TEXT, hglbCopy);

CloseClipboard();

return TRUE;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航