デスクトップの背景

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
メッセージ
作成者
よしき
記事: 13
登録日時: 2006年9月21日(木) 21:55
お住まい: 愛知県

デスクトップの背景

#1 投稿記事 by よしき »

デスクトップの背景に設定してある画像を新しい画像に上書きしても(当然ですが)すぐには背景が新しいものに更新されないので更新したいのですが・・・。

コード: 全て選択

Dim hDW As HWND
hDW=GetDesktopWindow()
SetForegroundWindow(hDW)

keybd_event(VK_RBUTTON,0,0,0)'押す
keybd_event(VK_RBUTTON,0,KEYEVENTF_KEYUP,0)'離す

keybd_event(Asc("R"),0,0,0)'押す
keybd_event(Asc("R"),0,KEYEVENTF_KEYUP,0)'離す

keybd_event(VK_MENU,0,0,0)'押す
keybd_event(Asc("K"),0,0,0)'押す
keybd_event(Asc("K"),0,KEYEVENTF_KEYUP,0)'離す
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0)'離す
このように仮想キーコード使ってもうまくいかなかったのですが、なにか方法はないでしょうか?vistaです。
abwiki管理人

もしかして

#2 投稿記事 by abwiki管理人 »

SystemParametersInfoを使えば良いと思います。

コード: 全て選択


Dim bmp[MAX_PATH] As Byte
lstrcpy(bmp, "C:\Windows\グリーン ストーン.bmp")
SystemParametersInfo(SPI_SETDESKWALLPAPER,3,bmp, SPIF_UPDATEINIFILE)