2

Windows クリップボードからビットマップをブリッティングする際に問題が発生しました。ビットマップは、Printscreen ボタンを介してここに取得されます。

VC++ win32 API プログラミング : クリップボードから画像を取得して winodws に表示するにはどうすればよいですか?

bool SetBackgroundImage(HWND hwnd) {

    GetPrintScreen(hwnd));

    OpenClipboard(NULL);
    HBITMAP Image = (HBITMAP)GetClipboardData(CF_BITMAP);
    PAINTSTRUCT ps;
    HDC wdc = BeginPaint(hwnd,&ps);
    HDC mdc = CreateCompatibleDC(wdc);
    SelectObject(mdc,Image);
    BitBlt(wdc,0,0,1000,700,mdc,10,10,SRCCOPY);
    DeleteDC(mdc);
    EndPaint(hwnd,&ps);
    CloseClipboard();

    return true;
}

(エラー処理などをすべて破棄しました)クリップボードに画像があることを99%確信しています(そうしないとアプリがクラッシュします)また、(例)ペイントでチェックすると、貼り付けることができます。

私は何が欠けていますか?

4

2 に答える 2