- ベストアンサー
画面全体を再描画させたい
C#でアプリケーションを作っています。 画面全体(自分自身のウィンドウだけではなく、デスクトップ全体。壁紙やタスクトレイ等も)を再描画させたいのですが、どうすればいいのでしょうか? .NET Framework APIでそのようなものがなければ、Win32 APIでもかまわないので、アドバイスよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Win32APIのInvalidateRectで指定のウインドウの再描画を促す事が出来ます。 (WM_PAINTをポストするのと同じ効果です。) デスクトップ(壁紙)は GetDesktopWindow タスクトレイは FindWindowで"Shell_TrayWnd"を指定すればウインドウハンドルを取得できます。 すべてのウインドウハンドルを取得したいなら EnumWindowsを使います。
お礼
アドバイスどうもありがとうございました。 うまくできました!