static bool CopyTextToClipboard( HWND hWindow_i,
LPCTSTR lpctszText_i )
{
// Open clipboard
if ( !lpctszText_i !::OpenClipboard( hWindow_i ))
{
return false;
}
// Clear clipboard
EmptyClipboard();
const int nTotalAllocLen = ( _tcslen( lpctszText_i ) + 1 )
* sizeof( TCHAR ) ;
HGLOBAL hGlobal = GlobalAlloc( GMEM_MOVEABLE, nTotalAllocLen );
if ( !hGlobal )
{
CloseClipboard();
return false;
}
// Lock allocated buffer for copying
LPTSTR lptszCopyStr = RCAST( LPTSTR, GlobalLock( hGlobal ));
memcpy( lptszCopyStr, lpctszText_i, nTotalAllocLen );
GlobalUnlock( hGlobal );
ASSERT( GetLastError() == NO_ERROR );
// Clipboard format
UINT uClipBoardFormat = 0;
#ifdef _UNICODE
uClipBoardFormat = CF_UNICODETEXT;
#else
uClipBoardFormat = CF_TEXT;
#endif
// Set data to clipboard
HANDLE hClip = SetClipboardData( uClipBoardFormat, hGlobal );
CloseClipboard();
// Return status
return ( hClip ? true : false );
} // End CopyTextToClipboard
[클립보드 복사] CopyTextToClipboard Helper Function
프로그래밍/소스 코드
2008/02/12 20:13
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다
덧글을 달아 주세요