デスクトップの背景を変えるには

デスクトップの背景を変えてみます。
キーワードは「SetDeskWallpaper()関数」です。
SetDeskWallpaper()関数はビットマップのファイル名を指定することで
デスクトップの壁紙を変更してくれます。

ちなみにJPEG等のファイルは内部で一度ビットマップに変換されてから
関数が呼び出されて壁紙になります。(Windows95のころはそうでした)
(ただ、最近はActiveDesktopによって直接JPEG等を表示しているようです。)

実行時の様子

'デスクトップの壁紙を変更する
Private Declare Function SetDeskWallpaper Lib "user32.dll" _
    (ByVal FileName As String) As Long

Private Sub Command1_Click() '背景画像の設定 '(ただし、拡大なのか並べて表示なのか、中央に表示なのかは設定しだい) Call SetDeskWallpaper(Me.Text1.Text) End Sub
Private Sub Command2_Click() With Me.CommonDialog1 .Filter = "*.bmp|*.bmp|*.*|*.*" .ShowOpen If .FileName <> "" Then Me.Text1.Text = .FileName End If End With End Sub
Private Sub Command3_Click() Call SetDeskWallpaper("") End Sub
Private Sub Form_Load() Me.Command1.Enabled = False End Sub
Private Sub Text1_Change() If Me.Text1.Text <> "" Then Me.Command1.Enabled = True Me.Picture1.Picture = LoadPicture(Me.Text1.Text) Else Me.Command1.Enabled = False End If End Sub
ダウンロード