> > 単にデスクトップの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に渡してください。
では。
|