壁紙ツールを作ろうを思います。
普通にデスクトップから個人設定でテーマを変えたほうが速いということは
絶対に突っ込まれないでくださいw
まずパソコンの設定内容を変えるということです。
レジストリを書き換えます。
パソコンに重大なエラーが発生することがあるので注意してくだい。
下手したら再起不能になります(*´∀`*)
レジストリのどこを変えたらいいかです。
レジストリエディタを開きましょう。
WindowsボタンとRでファイルから実行にregeditと入力して下さい。
HKEY_CURRENT_USER¥Control¥Panel¥desktop/を開きます。
Wallpaperです。
調べ方ですがレジストリ 壁紙 でこのサイトを見つけました。
http://www.geocities.co.jp/SiliconValley-Bay/8299/re1-6.html
Wallpaperとう名前をデータにパスが入っていることが確認出来ると思います。
そうです。
パスのデータを書き換えるだけです。
簡単ですね。
画面項目ですが
ピクチャーボックスと実行ボタンと参照ボタンをつくろうと思います。
参照ボタンを押したらダイヤログが表示されて開くを押したら実行ボタンが押せるようになります。
ピクチャーボックスに画像が表示されますがサイズは設定してないので気にしないで下さい。
まず今回は実行ボタンは最初は非活性で押せないようにしてます。
前回作成した画像ビューアに一部追加しただけですね。
デザイナーのほうでEnabled をFalseにしとくのを忘れないで下さい。
開く押した時のところに Button1.Enabled = Trueで活性状態にしてます。
Button1_Clickが実行ボタンです。
Microsoft.Win32.RegistryKeyを使います。
クラスを宣言してます。
後はパスのあるところまで指定してます。
Microsoft.Win32.Registry.CurrentUser.CreateSubKeyは既存のパスがなければ作成されますのでご注意下さい。
reg.SetValue(“Wallpaper”, path.ToString)はセットする名前とデータです。
書いたら簡単に出来るんですが調べながらですので色々勉強です。
Dim path As String
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim registry As Microsoft.Win32.RegistryKey
registry = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(“Control Panel\Desktop”)
registry.SetValue(“Wallpaper”, path.ToString)
registry.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
OpenFileDialog1.ShowDialog()
End Sub
Private Sub OpenFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
path = OpenFileDialog1.FileName
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.Image = Image.FromFile(path)
Button1.Enabled = True
End Sub
実行しても壁紙はすぐに変わりません。
再起動したら変わってます。
それか普通にデスクトップから個人設定でテーマを開くとマイテーマに追加されてますので変更したらすぐ変更されます。
手でやったほうが速いという結果に!
つまらないモノを作ってしまいますた。
再起動の命令を入れたほうが良かった気がしますが機会があればやります。
画像サイズですが解像度は調べてから変えてくださいね。
動作確認はWindows7のみです。
<PR>