如题: 要求:能指定任意格式的图片,把选择的图片设为桌面背景 或者大家帮我看看 我这个为什么不行呢,希望大家多测试下看看,谢谢 环境 WINXPSP2 + VC6.0  下载地址:http://www.anyican.com:79/downfile/code/setDeskwallpaper.rar

解决方案 »

  1.   

    SystemParametersInfo(SPI_SETDESKWALLPAPER,...);
    任意格式都可以,只要转换为位图文件。
      

  2.   

    那个函数只能设置bmp,使用 IActiveDesktop::SetWallpaper 可以设置windows支持的所有格式
      

  3.   

    以前做过
    桌面在注册表里设置
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\在该注册表项下建立名为System的项(如在Policies分支下已有System项,则无须此步骤)在System项下建立名为Wallpaper和WallpaperStyle的两个“字串符值”对于字串符值定义的解释:Wallpaper有两个可以定义的值:空或某图片具体路径位置及文件名(路径可以允许设为本地路径或UNC路径)如果Wallpaper字串符值为空,则桌面背景固定为添加该字串符值前所设的图片,且在“显示属性”中的“桌面”选项卡中的“背景”框中呈不可操作状。并且在“资源管理器”中浏览图片时,右键.jpg、.bmp图片文件中的上下文菜单的“设为桌面背景”操作将无效。但是该法有一缺点,使用第三方工具如ACDSee依旧可以更改桌面背景。(注:此项比“组策略”法中的"阻止更改桌面"策略略强,能使得上下文菜单中的“设为桌面背景”无效)如果Wallpaper字串符值设置为某图片或Html文件的路径及文件名(如F:\abc.jpg或F:\abc.html),那么桌面背景将强制更改为该值中所指定的图片文件或Html文件(F:\abc.jpg或F:\abc.html),且在“显示属性”中的“桌面”选项卡中的“背景”框中仍然呈不可操作状,并且第三方工具的桌面背景设置将无效。但是该法也有一缺点:桌面上的图标将消失“阴影”特效,很是难看。WallpaperStyle有三个可以定义的值:0=居中1=平铺2=拉伸当WallpaperStyle设置为上述三个值(数字)中的一个,那么将强制“显示属性”中的“桌面”选项卡中的“位置”下拉菜单为对应值效果,并同样呈不可操作状。更多信息:·在上述的注册表项(System项)中建立名为NoDispBackgroundPage的DWORD值,且定义键值为1(有效,相反设为0为无效),则“显示属性”中将没有“桌面”选项卡。(此项对应“组策略”中的"本地计算机"策略/用户配置/管理模板/控制面板/显示中的隐藏“桌面”选项卡策略)·在下面注册表项中新建名为ActiveDesktop的项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\并在ActiveDesktop项中建立名为NoChangingWallPaper的DWORD值,定义键值为1(有效,相反设为0为无效),则“显示属性”中的“桌面”选项卡下的“背景”、“浏览”和“位置”下拉菜单呈不可操作状(此键值对应“组策略”的给个分吧,1分也行,我给你找的啊