API:
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
systemparametersinfo(20,0,"c:\star.bmp",&H1)
好象只认识bmp图片
能不能更改为jpg或gif图片?
还有那个20和 &h1指什么

解决方案 »

  1.   

    Const SPI_SETDESKWALLPAPER = 20
    Const SPIF_UPDATEINIFILE = &H1SPI_SETDESKWALLPAPER 
    Sets the desktop wallpaper. The value of the pvParam parameter determines the new wallpaper. To specify a wallpaper bitmap, set pvParam to point to a null-terminated string containing the name of a bitmap file. Setting pvParam to "" removes the wallpaper. Setting pvParam to SETWALLPAPER_DEFAULT or NULL reverts to the default wallpaper.  SPIF_UPDATEINIFILE 
    Writes the new system-wide parameter setting to the user profile. 
      

  2.   

    那能不能设置jpg gif 图片为墙纸呢呢
      

  3.   

    不行的,操作系统墙纸的格式只能是.bmp的。
    你可以看看ACDSee,用它把某幅图设置成墙纸,它也是在Windows目录下生成.bmp文件,其后把那个.bmp文件设成墙纸。
    你可以先把图片文件转成.bmp文件,然后放到再将其设成墙纸。
    转图像简单的方法用SavePicture就行了。
      

  4.   

    savepicture是vb内置函数 还是 api
    应该具体怎么用
    有没有 代码呀
    谢谢
      

  5.   

    如果打开ActiveDesktop就可以使用jpg和gif
      

  6.   

    SavePicture 语句
       从对象或控件(如果有一个与其相关)的 Picture 或 Image 属性中将图形保存到文件中。语法SavePicture picture, stringexpressionSavePicture 语句的语法包含下面部分:参数 描述 
    picture 产生图形文件的 PictureBox 控件或 Image 控件。 
    stringexpression 欲保存的图形文件名。 
    说明无论在设计时还是运行时图形从文件加载到对象的 Picture 属性,而且它是位图、图标、元文件或增强元文件,则图形将以原始文件同样的格式保存。如果它是 GIF 或 JPEG 文件,则将保存为位图文件。Image 属性中的图形总是以位图的格式保存而不管其原始格式。
      

  7.   

    改注册表可以实现打开ActiveDesktop,不过没必要。