计算机桌面背景一直自动更换,电脑的桌面自动变换即自动更换桌面背景

电脑的桌面自动变换即自动更换桌面背景

Windows 7支持多张桌面背景切换的功能让我们的桌面更加绚丽,但是对于喜欢按照文件夹分门别类保存图片的用户来说,下面是小编收集的资料,希望大家喜欢!

15982a6a0b438acf4187ab9ff212027b.png

在设置桌面背景时如果指定了包含子目录的文件夹,如“wallpaper“,但其下又有“风景”、“动物”等几个子目录,在显示桌面背景时则只能显示wallpaper文件夹下的图片,“风景”等子目录里的图片则无法显示,实在算得上有些傻帽……

◎ 系统方案的局限之处

关于另选桌面背景的问题,Windows 7提供了两种不同的解决方案,打开“选择桌面背景”窗口,可以从“图片位置”下拉列表中选择:

一是选择“Windows桌面背景”,它的实际存储路径是“C:\windows\web\wallpaper”,这里所有子文件夹中的图片,都可以在桌面背景中显示出来;

二是选择“图片库”,这里可以显示所有添加到库的图片文件夹,但需要将相关的图片文件夹手工添加到“图片库”。

很显然,无论选择哪一种现成的'方案,都需要将图片文件夹添加到相应的位置,尤其是“图片库”的操作,相对繁琐。

◎ 完美解决方案

其实,我们可以为“Windows桌面背景”扩充更多的内容,并不需要将相关文件夹复制过去,通过注册表就可以解决这一问题。以管理员权限打开注册表编辑器,依次定位到

“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\knownfolders\0\Windows Wallpapers\MergeFolders”,

这里的内容就是Windows 7自带壁纸的文件夹信息,右击添加一个可扩充字符串值(如图1),字符串名称即图片文件夹的名称,例如“e:\壁纸”,刷新之后关闭注册表编辑器。

现在,请关闭已打开的“个性化”窗口,重新右击桌面依次选择“个性化→桌面背景”,打开“选择桌面背景”窗口,将图片位置设置为“Windows桌面背景”(如下图3),在这里可以发现刚才所添加的图片文件夹已经进入其中,而且包含各级子文件夹,虽然分类不在一起,但已经可以选择,是不是很方便?

上述操作不会对您的Windows7系统带来任何影响,而且适用于登录本机的所有用户。

【电脑的桌面自动变换即自动更换桌面背景】相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用C#中的SystemParametersInfo函数来获取和更换Windows桌面背景。具体步骤如下: 1. 获取当前桌面背景路径: ```csharp StringBuilder sb = new StringBuilder(256); bool result = SystemParametersInfo(SPI_GETDESKWALLPAPER, 256, sb, 0); if (result) { string path = sb.ToString(); } ``` 2. 更换桌面背景: ```csharp bool result = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "newImagePath", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); if (!result) { // 更换桌面背景失败 } ``` 其中,`SPI_SETDESKWALLPAPER`表示设置桌面背景,`SPI_GETDESKWALLPAPER`表示获取当前桌面背景。 `SPIF_UPDATEINIFILE`和`SPIF_SENDWININICHANGE`是一些标志位,用于更新系统设置并立即生效。 需要引入以下命名空间: ```csharp using System.Runtime.InteropServices; using System.Text; ``` 完整代码示例: ```csharp using System.Runtime.InteropServices; using System.Text; public class DesktopBackground { [DllImport("user32.dll", CharSet = CharSet.Auto)] private static extern int SystemParametersInfo(int uAction, int uParam, StringBuilder lpvParam, int fuWinIni); private const int SPI_GETDESKWALLPAPER = 0x0073; private const int SPI_SETDESKWALLPAPER = 0x0014; private const int SPIF_UPDATEINIFILE = 0x01; private const int SPIF_SENDWININICHANGE = 0x02; public static string GetDesktopBackground() { StringBuilder sb = new StringBuilder(256); bool result = SystemParametersInfo(SPI_GETDESKWALLPAPER, 256, sb, 0); if (result) { return sb.ToString(); } else { return null; } } public static bool SetDesktopBackground(string imagePath) { bool result = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, imagePath, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); return result; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值