|
クリップボードにテキストデータをコピーする関数を作る。
//*********************************************************
// クリップボードにテキストデータをコピーする。
//*********************************************************
BOOL SetClipboardText( const char *Str )
{
int BufSize;
char *Buf;
HANDLE hMem;
BufSize = strlen( Str ) + 1; // 確保するメモリのサイズを計算する
hMem = GlobalAlloc( GMEM_SHARE | GMEM_MOVEABLE, BufSize ); // 移動可能な共有メモリを確保する
if ( !hMem )
{
return FALSE;
}
Buf = (char *)GlobalLock( hMem ); // 確保したメモリをロックし、アクセス可能にする
if ( Buf )
{
strcpy( Buf, Str ); // 文字列を複写する。
GlobalUnlock( hMem ); // メモリのロックを解除する。
if ( OpenClipboard(NULL) )
{
EmptyClipboard(); // クリップボード内の古いデータを解放する
SetClipboardData( CF_TEXT, hMem ); // クリップボードに新しいデータを入力する
CloseClipboard();
//
| |