クリップボード転送時に尻切れになったのはNULL文字を忘れていたから

確保する領域のサイズに+1を忘れていた。うまくいったように見えた場合があったのは、\r\nがあったから。

/*--------------------------------------------------------------
	クリップボードに文字列を設定
	required: windows.h
--------------------------------------------------------------*/
bool SetTextToClipbord(LPCTSTR str)
{
	LPTSTR mem;
	HGLOBAL hg = GlobalAlloc(GHND | GMEM_SHARE, strlen(str)+1);	// グローバルな領域を確保
	mem = (LPTSTR)GlobalLock(hg);				// 領域を一時固定しアドレスを取得
	lstrcpy(mem, str);						// 文字列を転写
	GlobalUnlock(hg);						// 領域の固定を解除
	
	if(!OpenClipboard(NULL)) return false;	// クリップボードを開く
	EmptyClipboard();				// クリップボードの中身を空に
	SetClipboardData(CF_TEXT, hg);		// クリップボードに設定
	CloseClipboard();				// クリップボードを閉じる
	
	return true;
}