誰かが WS_EX_COMPOSITED によって引き起こされたバグを処理する WndProc を作成する方法を説明できますか (一部のコントロールでは、バグは無限の WM_PAINT です)。
私が WS_EX_COMPOSITED に使用するのは、アプリ ウィンドウが非表示になってスクリーンショットを撮れるようにするためです (WS_EX_COMPOSITED が設定されていない場合、PrintWindow は失敗します)。スクリーンショットは取得されますが、CPU 使用率は常に 99% です。
Google から見つけた情報は次のとおりです。 ATL CWindowImpl で WM_PAINT ループを終了しない http://forums.codeguru.com/showthread.php?t=483719
しかし、あまり明るくはありません... WndProcに追加した唯一の変更は次のとおりです。
if(Msg==WM_PAINT||Msg==WM_NCPAINT||Msg==WM_ERASEBKGND) { return DefWindowProc(hWnd,Msg,wParam,lParam); }
CPU 使用率は低下しますが、すべてのコントロールが正しく描画されません。