基本的な動作は 1.Globalメモリにテキストを保存する 2.クリップボードをひらく 3.クリップボードを空にする 4.クリップボードにセットする 5.クリップボードを閉じる CHAR ClipData="AAAAA"; HGLOBAL ClipboardData; LPSTR ClipboardString; //Global領域の確保 ClipboardData=GlobalAlloc(GMEM_MOVEABLE|GMEM_ZEROINIT,strlen(ClipData)+10L); if(!ClipboardData) { MessageBox("クリップボードへのコピーに失敗しました"); return; } ClipboardString=(LPSTR)GlobalLock(ClipboardData); if(!ClipboardString) { MessageBox("クリップボードへのコピーに失敗しました"); GlobalFree(ClipboardData); return; } //データをグローバル領域にコピー memcpy(ClipboardString,ClipData,strlen(ClipData)+1); //クリップボードをひらく if(!OpenClipboard()) { MessageBox("クリップボードを開くのに失敗しました"); GlobalUnlock(ClipboardString); GlobalFree(ClipboardData); return; } //クリップボードを空にする if(EmptyClipboard()==0) { MessageBox("クリップボードを空にするのに失敗しました"); GlobalUnlock(ClipboardString); GlobalFree(ClipboardData); CloseClipboard(); return; } //クリップボードにデータをセット if(::SetClipboardData( CF_TEXT,ClipboardData)==NULL) { MessageBox("クリップボードへのデータのセットに失敗しました"); GlobalUnlock(ClipboardString); GlobalFree(ClipboardData); CloseClipboard(); return; } //クリップボードを閉じる CloseClipboard();