如何将窗体复制到剪贴板

怎么将窗体复制到剪贴板
用程序就是截取另一窗口的显示,类似于fn + alt + print screen得到的效果,该怎么做?

------解决方案--------------------
void CBaseDialogDlg::OnButton1()
{
CBitmap bitmap;
CWindowDC dc(this);
CDC memDC;
CRect rect;

memDC.CreateCompatibleDC(&dc);

GetWindowRect(rect);

bitmap.CreateCompatibleBitmap(&dc, rect.Width(),rect.Height() );

CBitmap* pOldBitmap = memDC.SelectObject(&bitmap);
memDC.BitBlt(0, 0, rect.Width(),rect.Height(), &dc, 0, 0, SRCCOPY);

OpenClipboard() ;
EmptyClipboard() ;
SetClipboardData (CF_BITMAP, bitmap.GetSafeHandle() ) ;
CloseClipboard () ;

memDC.SelectObject(pOldBitmap);
bitmap.Detach();
}
------解决方案--------------------
http://topic.csdn.net/u/20110117/12/f0928fb8-280b-43bf-b7b1-be7f4d3da150.html?8830