Změna tapety na ploše

Postup:
Založte nový projekt, v něm modul a formulář. Do formuláře přidejte dvě tlačítka.

V modulu deklarujte následující kód:
Const SPIF_UPDATEINIFILE = &H1
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_SENDWININICHANGE = &H2


Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long) As Long

Do formuláře, na událost Click prvního tlačítka vložte náledující kód (bude odstraňovat tapetu, takže doporučuji dát vlastnost Caption na "Odstranit"):
Private Sub Command1_Click()

    Dim X As Long
    X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, "(None)", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
    MsgBox "Tapeta byla odstraněna"

End Sub

Na událost Click druhého tlačítka (Caption "Nastav"):
Private Sub Command2_Click()

    Dim FileName As String
    Dim X As Long

   
'Tady si nastavte svojí tapetu
    FileName = "c:\windows\pinstripe.bmp"

    X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, FileName, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
    MsgBox "Tapeta změněna"
End Sub

Spusťte program. První tlačítko tapetu odstraní, druhé ji nastaví.

Zpět

Autor: The Bozena