不大可能,改注册表其实更麻烦,而且还要重新启动……
其实用API不是很好?

解决方案 »

  1.   

    只能用API了,我给你标准的:
    Const SPI_SETDESKWALLPAPER = 20
    Const SPIF_UPDATEINIFILE = &H1    'update Win.ini Constant
    Const SPIF_SENDWININICHANGE = &H2 'update Win.ini and tell everyone
    Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As LongPrivate Sub SetWallPaper(ByVal Filename As String)
      If Filename = "(None)" Or Filename = "" Then Filename = "(none)"
      SystemParametersInfo SPI_SETDESKWALLPAPER, 0, ByVal Filename, SPIF_UPDATEINIFILE
    End Sub
    Private Sub Form1_Load()
    SetWallpaper "C:\a.bmp"
    End Sub