Click here to Skip to main content
15,896,154 members
Articles / Multimedia / GDI+

Background Tile Creator

Rate me:
Please Sign up or sign in to vote.
4.88/5 (21 votes)
2 Sep 2011CPOL7 min read 46.6K   1.5K   35  
A small utility for creating interesting background tile images. Includes "Set as Wallpaper" feature
Imports System.Windows.Forms
Imports System.Drawing
Imports System.IO
Imports Microsoft.Win32

Public Class dialog_WallPaper
  Dim imgPath As String = main.tilePath
  Dim oldPath As String
  Dim oldStyle As String
  Dim oldTile As String

  Private Sub dialog_WallPaper_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    main.WindowState = FormWindowState.Minimized

    oldPath = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "WallPaper", Nothing)
    oldStyle = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", Nothing)

    oldTile = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "TileWallpaper", Nothing)

    SetWallpaper("1", "1")

  End Sub

  Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
    main.WindowState = FormWindowState.Maximized
    Me.DialogResult = System.Windows.Forms.DialogResult.OK
    Me.Close()
  End Sub

  Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click

    'set wp back to previous image and settings before closing

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "WallPaper", oldPath)

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", oldStyle)

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "TileWallpaper", oldTile)

    WinAPI.SystemParametersInfo(WinAPI.SPI_SETDESKWALLPAPER, 0, oldPath, WinAPI.SPIF_UPDATEINIFILE Or WinAPI.SPIF_SENDWININICHANGE)
    main.WindowState = FormWindowState.Maximized
    Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
    Me.Close()
  End Sub


  Private Sub SetWallpaper(ByVal styleNum As String, ByVal tile As String)
    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "WallpaperStyle", styleNum)

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "TileWallpaper", tile)

    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "WallPaper", main.tilePath)

    WinAPI.SystemParametersInfo(WinAPI.SPI_SETDESKWALLPAPER, 0, main.tilePath, WinAPI.SPIF_UPDATEINIFILE Or WinAPI.SPIF_SENDWININICHANGE)

  End Sub
End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
I'm not an IT guy. Programming has been a hobby for me (and occasionally useful) ever since a sister in-law introduced me to a TI-99 4/A about a million years ago.

The creative challenge is relaxing and enjoyable. As such, I'd never mess up a fun hobby by doing it for a living.

Now, if I can just get Code Project to add "Truck Driver" to the list of job titles in the profiles...

Comments and Discussions