1

我正在开发一个简单的应用程序,它从服务器下载桌面壁纸并将图像保存在Wallpaper Downloads. 我想将此目录设置为我的墙纸目录,正如我们在Control Panel\Appearance and Personalization\Personalization\Desktop Background. 我的意思是我想将此文件夹中的每个图像设置为我的壁纸一段时间,就像在personalization. 我已经看到将一张图像设置为墙纸但整个文件夹都没有设置的代码,这不可能吗?就像Windows Personalization我们可以浏览壁纸文件夹,然后将其中的所有图像设置为我们的壁纸,它们会随着指定的时间量而变化。

4

2 回答 2

2

HKEY_CURRENT_USER\Control Panel\Desktop\WallPaper 存储当前壁纸位置。

最简单的方法是设置该注册表值以查找“wallpaper.jpg”,然后以数字方式命名目标文件夹中的所有图像。使用一个简单的循环批处理文件,将一个数字读入批处理文件,添加一个,除非它是您拥有的最后一个图像的编号,然后将该数字写回文本文件。然后将具有该编号的文件的名称更改为“wallpaper.jpg”。然后使用任务计划程序让批处理文件间隔运行。我的电脑上有一个,每次登录时都会更改登录壁纸。

这是一个示例批处理脚本。

@echo off
cd C:\Users\kenneth\wallpapers\logon
set n=
set /p n=<numb.txt
move .\background.jpg .\%n%.jpg
if %n% == 30 set n=0
set /a n=%n%+1
move .\%n%.jpg .\background.jpg
ECHO %n%>numb.txt

在这个例子中,我有 30 张 jpg 图像,编号为 1-30。您必须将第六行中的值调整为您拥有的文件数。

于 2013-04-04T08:59:01.973 回答
0

iCodeSometimes 代码片段的一个小改进(@admins:pwese 移至评论):您可以检查文件是否存在,如果不存在,则重置计数器,而不是维护文件夹中的最大图片数量。就像是

if not exist "%n%.*" set n=0
于 2020-04-24T04:16:44.283 回答