int CaptureDesktop2ClipBoard() { HDC hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL); HDC hdcCompatible = CreateCompatibleDC(hdcScreen); HBITMAP hbmScreen = CreateCompatibleBitmap(hdcScreen, GetDeviceCaps(hdcScreen, HORZRES), GetDeviceCaps(hdcScreen, VERTRES)); if (hbmScreen == 0) { DeleteDC(hdcScreen); DeleteDC(hdcCompatible); DeleteObject(hbmScreen); return -1; } HBITMAP hOldScreen = (HBITMAP)SelectObject(hdcCompatible, hbmScreen); BitBlt(hdcCompatible, 0,0, GetDeviceCaps(hdcScreen, HORZRES), GetDeviceCaps(hdcScreen, VERTRES), hdcScreen, 0, 0, SRCCOPY); OpenClipboard(NULL); SetClipboardData(CF_BITMAP, (HANDLE)hbmScreen); CloseClipboard(); SelectObject(hdcCompatible, hOldScreen); DeleteDC(hdcScreen); DeleteDC(hdcCompatible); DeleteObject(hbmScreen); return 0; }