Today壁紙切替ツール的な

ちょっと前にこれを参考に縦横個別の壁紙設定するアプリを作ったんだけど
どうしても即座にいい感じに切り替わらなくてうがーってなってたんだね
なんだけど、今日いろいろ弄ってたらレジストリの値書き換えたら大丈夫なことが分かったよ

先のサイトで公開してるソース見ると

  1. windowsstwater_###_***.jpgwindowsstwater_***_###.jpgを壁紙にしたい画像で差し替える
  2. SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0) する

なんだけど、実は2.をやる前にレジストリを弄らないといけなかったのね
弄るのはHKCUSoftwareMicrosoftTodayキーのUseStartImage(DWORD)とWall(REG_SZ)というエントリ
UseStartImageは必ず1にする
Wallはもしなかったら追加、あるんだったら値を変更または削除しておく必要がある
ちなみに値はdummy.jpgとかでいい なんでもいい

というわけで、こういう処理にしたよ

  1. windowsstwater_###_***.jpgwindowsstwater_***_###.jpgを壁紙にしたい画像で差し替える
  2. HKCUSoftwareMicrosoftTodayUseStartImage 1 にする
  3. HKCUSoftwareMicrosoftTodayWall があったら消す、なかったら追加する
  4. SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0) する

これで好きなだけ壁紙変更できるよ!やったね!

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中