在窗体加上个按钮单击事件:
代码如下:
void CTestClipboardDlg::OnBnClickedButtonCopy()
{
// 用户写入数据到剪贴板
CString tmp = "我是好人";
HANDLE hGlobal = GlobalAlloc(GHND, tmp.GetLength() + 1);   char* pBuf=(char*)GlobalLock(hGlobal);
strcpy(pBuf,tmp.GetBuffer(tmp.GetLength()));    
if(!::OpenClipboard(GetSafeHwnd())){ AfxMessageBox( "无法打开剪贴板" );
} if(!::EmptyClipboard()){
AfxMessageBox( "无法清除剪贴板" );
} if (::SetClipboardData(CF_TEXT,hGlobal) == NULL){                    AfxMessageBox( "无法将数据复制到剪贴板当中" );
::CloseClipboard();
}  ::CloseClipboard();
::GlobalUnlock(hGlobal);
::GlobalFree(hGlobal);       /*为什么不能释放??*/
}
hGlobal释放后,在执行一次就出错,不释放后就正确.
但不释放不会出现内存泄露吗?
为什么释放一次后就执行出错??
}