dポイントプレゼントキャンペーン実施中!

C#でアプリケーションを作っています。
画面全体(自分自身のウィンドウだけではなく、デスクトップ全体。壁紙やタスクトレイ等も)を再描画させたいのですが、どうすればいいのでしょうか?

.NET Framework APIでそのようなものがなければ、Win32 APIでもかまわないので、アドバイスよろしくお願いします。

A 回答 (1件)

Win32APIのInvalidateRectで指定のウインドウの再描画を促す事が出来ます。


(WM_PAINTをポストするのと同じ効果です。)

デスクトップ(壁紙)は
GetDesktopWindow
タスクトレイは
FindWindowで"Shell_TrayWnd"を指定すればウインドウハンドルを取得できます。

すべてのウインドウハンドルを取得したいなら
EnumWindowsを使います。
    • good
    • 0
この回答へのお礼

アドバイスどうもありがとうございました。
うまくできました!

お礼日時:2006/08/26 17:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!