VB如何操作xp 桌面的墙纸?
我在这样写不行,这是为什么?
Const SPI_SETDESKWALLPAPER = 20 Const SPIF_UPDATEINIFILE = &H1
 Const SPIF_SENDWININICHANGE = &H2
 Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As LongPrivate Sub Command1_Click()
  t = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "d:\temp11\Azul.bmp", SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE)
Print tEnd Sub
求高人解答,在线等

解决方案 »

  1.   

    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 Long 
    Const SPI_SETDESKWALLPAPER = 20 
    Const SPIF_SENDWININICHANGE = &H2 
    Const SPIF_UPDATEINIFILE = &H1 
    Private Sub Command1_Click() 
    re = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\Test.BMP", 0) 
    End Sub 
    参考: SystemParametersInfo函数的定义和参数: 声明如下: 
       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 Long   其中各参数的意义如下表: 参数: 意义 
    uAction Long,指定要设置的参数。参考uAction常数表 
    uParam Long,参考uAction常数表 
    lpvParam Any,按引用调用的Integer、Long和数据结构。 
    fuWinIni 这个参数规定了在设置系统参数的时候,是否应更新用户设置参数 
     下面是部分uAction参数,和使用它们的方法: 参数 意义和使用方法 
    6 设置视窗的大小,SystemParametersInfo(6, 放大缩小值, P, 0),lpvParam为long型 
    17 开关屏保程序,SystemParametersInfo(17, False, P, 1),uParam为布尔型 
    13,24 改变桌面图标水平和垂直间距,uParam为间距值(像素),lpvParam为long型 
    15 设置屏保等待时间,SystemParametersInfo(15, 秒数, P, 1),lpvParam为long型 
    20 设置桌面背景墙纸,SystemParametersInfo(20, True, 图片路径, 1) 
    93 开关鼠标轨迹,SystemParametersInfo(93, 数值, P, 1),uParam为False则关闭 
    97 开关Ctrl+Alt+Del窗口,SystemParametersInfo(97, False, A, 0),uParam为布尔型 
    本例中我们选择图片并取得图片的完整路径,然后通过调用API函数,将这幅图设为墙纸,使用的语法为:SystemParametersInfo SPI_SETDESKWALLPAPER, 0, bmpfile, 1   其中SystemParametersInfo表示要设置桌面墙纸,bmpfile是要设置的图片的路径。
      

  2.   

    http://zhidao.baidu.com/question/3266523.html
      

  3.   

    Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
    --------------------------------------------------------
    把SystemParametersInfo函数的第3个参数改为String类型就可以了: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
      

  4.   

    http://www.yesky.com/20011016/201069_1.shtml
      

  5.   

    http://www.chenoe.com/blog/article.asp?id=2052