this code give black hbitmap ,please assist

HDC dc_desk=::GetWindowDC(::GetDesktopWindow());
HDC dc=::CreateCompatibleDC(dc_desk);
HBITMAP hBmp=::CreateCompatibleBitmap(dc, 1024, 768);
::BitBlt(dc, 0, 0, 1024, 768, dc_desk, 0, 0, SRCCOPY);
//static control to show the bitmap
m_ShowPic.SetBitmap(hBmp);
UpdateData(FALSE);