Re[3]: VCでデスクトップをプリントスクリーンしたみたいなやつ


[コメントツリー表示を見る] [発言時刻順表示を見る]

Posted by Uz on 2000/09/24 23:54:48

In Reply to: Re[2]: VCでデスクトップをプリントスクリーンしたみたいなやつ Posted by こーちん on 2000/09/24 15:47:03


    > > 単にデスクトップのhDCから自アプリ(スクリーンセーバー)
    > > のhDCにBitBltすればいいのでは?
    >
    > BitBlt(hdc, 0, 0, iSCX, iSCY, (HDC)GetDesktopWindow(), 0, 0, SRCCOPY);
    >
    > このようにやってみたのですが、うまく行きません。
    > 画面が真っ暗なままでした。
    >
    > ヘルプにGetDesktopWindow()でデスクトップのハンドルが取れるって書いてあったので使ってみたのですが。
    >
    > ヘルプには
    > HWND GetDesktopWindow(VOID)
    > って書いてありました。
    > 使い方はあっていますでしょうか?

    ご自身でもかかれているように GetDesktopWindow は HWND を
    返します。
    HWND つまりウィンドウハンドルです。
    BitBltには HDC (デバイスコンテキストハンドル)を
    渡す必要があります。

    GetDesktopWindow で取得した hWnd から
    GetWindowDC で hDC を取得して
    BitBltに渡してください。

    では。


記事スレッド一覧