使用Windows任务计划程序实现每天更换一张Processing创意桌面壁纸
Windows任务计划程序(Windows Task Scheduler)是Windows操作系统中的一项系统工具,它允许用户安排自动执行的任务。通过任务计划程序,用户可以设定特定的时间或条件来运行各种脚本、程序或任务,例如系统维护、数据备份、软件更新等。要实现每天能更换桌面壁纸,使用它是一个很好的选择。
具体想法:每次登陆Windows,可以被任务计划程序触发任务,自动执行更换桌面壁纸的批处理脚本,而该脚本获得指定目录下的由Processing设计并绘制的桌面壁纸,通过修改注册表信息,实现更换桌面壁纸。
首先
编写Processing程序。Processing 是一种灵活的语言,专为电子艺术、新媒体艺术和交互式媒体设计而设计的Java衍生语言。它由Casey Reas和Ben Fry在2001年创建,旨在简化代码编写,以及加快数字媒体艺术创作。Processing基于Java语言开发而来,但提供了更为简洁和直观的语法,使得艺术家、设计师和爱好者能够更容易地学习和使用。它有很多活跃的社团和论坛,大量的源码可供学习参考。我们使用它做一个简单例子------在画布上绘制渐变色,然后在画布中央写上当天的年月日。【作为示例,不必过多设计,此博文核心在于工具间的联合使用】
代码如下:
public void settings() {
size(3200, 2000); // 设置画布大小,参考桌面设置
//fullScreen();
println(width, height); // 方便调试,将画布大小打印出来
}
public void setup() {
// 如果想要替换系统默认字体,设置指定字体和文字大小
//textFont(createFont("Arial", 30));
//文本居中
textAlign(CENTER, CENTER);
// 绘制内容
renderContent();
// 定义参数 保存的图片文件名,包含日期信息
String filename = "daily_art_" + year() + "_" + nf(month(), 2) + "_" + nf(day(), 2) + ".png";
// 保存当前帧
save(filename);
// 自动退出程序
exit();
}
// 可以不写draw循环函数
public void draw() {
// 禁用循环
//noLoop();
// renderContent();
}
private void renderContent() {
background(255); // 设置初始背景颜色为白色
// 获取当前日期
int day = day();
int month = month();
int year = year();
String dateText = "Today is " + month + "/" + day + "/" + year;
// 根据日期调整渐变颜色
for (int i = 0; i < height; i++) {
// 计算颜色值
float r = map(i, 0, height, day * 1.5f, (day + month) * 2.5f);
float g = map(i, 0, height, month * 3.0f, (month + year) / 20.0f);
float b = map(i, 0, height, year % 100, (year * month) / 100.0f);
// 确保颜色值在 0 到 255 范围内
r = constrain(r, 0, 255);
g = constrain(g, 0, 255);
b = constrain(b, 0, 255);
// 绘制彩线 试图构成渐变
stroke(r, g, b);
line(0, i, width, i);
}
// 绘制动态文字
fill(255, 255, 255);
noStroke();
textSize(displayHeight / 30);
text(dateText, width / 2, height / 2);
}
执行程序,可得如下壁纸:

注意,代码中的 save(filename);。保存的图片会放置在该代码所在文件夹下。还有,因为不需要交互动画,所以,不用编写draw()循环函数,执行完steup()函数后,即可exit()退出。
其次
准备好批处理程序。在windows下脚本执行实现更换桌面壁纸,Dos、VBs、PowerShell都可以,这里使用Dos。
@echo off REM 关闭回显,不显示后续命令
setlocal REM 开始定义局部变量
REM 获取系统当前日期和时间
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value ^| find "="') do (
set datetime=%%a REM 将获取的日期时间值存储在变量datetime中
)
REM 提取日期时间的年、月、日部分
set year=%datetime:~0,4% REM 年份,取datetime的前4位
set month=%datetime:~4,2% REM 月份,取datetime的第5和第6位
set day=%datetime:~6,2% REM 日期,取datetime的第7和第8位
REM 定义日期格式
set mydate=%year%_%month%_%day%
REM 定义图片路径
set "image_path=D:\projects\processing\fxfromdate\daily_art_%mydate%.png"
echo "%image_path%" REM 打印图片路径
REM 检查图片文件是否存在
if not exist "%image_path%" (
echo 文件 "%image_path%" 不存在!
pause REM 暂停,等待用户响应
exit /b 1 REM 非零退出代码表示错误,退出脚本
)
REM 设置壁纸
echo 设置壁纸...
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "%image_path%" /f
if errorlevel 1 (
echo 注册表修改失败!
pause REM 暂停,等待用户响应
exit /b 1 REM 非零退出代码表示错误,退出脚本
)
REM 刷新桌面以应用壁纸更改
echo 刷新桌面...
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
echo 壁纸已设置为: "%image_path%" REM 打印已设置的壁纸路径
endlocal REM 结束局部变量定义
timeout /t 1 /nobreak > nul REM 等待1秒,防止命令窗口立即关闭
脚本执行,自动读取图片,然后修改注册表配置,更换壁纸。
最后
打开【任务计划程序】,进行配置。
- 打开任务计划程序,创建新任务。
- 常规: 设置任务名称,例如 "每天修改壁纸"。 勾选 "使用最高权限运行"。
- 触发器: 设置触发器为每天凌晨,例如凌晨 1 点。
- 操作:
- 操作 1:
- 程序/脚本:
D:\processing-4.3.2\processing-java.exe - 添加参数 (可选):
--sketch=D:\projects\processing\fxfromdate --run
- 程序/脚本:
- 操作 2:
- 程序/脚本:
D:\projects\processing\fxfromdate\changebg.bat - 添加参数: 无
- 程序/脚本:
- 操作 1:
如下图:

这样的话一切准备完毕。
结尾
经过测试,可以顺利实现功能。这次实现,只是做个示例,至于创意壁纸如何“创意法”,就看个人的创造力和Processing功力了。
其实,好好利用Windows自带的任务计划程序,可以做好多有意思的事情。再接再厉吧~
使用Windows任务计划程序实现每天更换一张Processing创意桌面壁纸的更多相关文章
- Windows任务计划程序起始于参数自动修改
Windows任务计划程序建立后,手工运行可以成功,但计划任务自动运行却不能成功,搜索网络,原来是起始于参数没有配置,这个参数的英文名字是start-in.它保证任务计划程序的WorkingDirec ...
- 在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现
最近需要做一个定时任务功能,从网站找了很多相关的代码,windows实现方法综合起来大概就两种, 一.使用PHP ignore_user_abort 函数 即使关掉浏览器也能正常运行:(个人感觉PHP ...
- 使用Windows任务计划程序运行Windows PowerShell脚本
创建计划任务以运行PowerShell脚本 我需要创建一个计划任务来运行Windows PowerShell脚本的第一件事是我将执行的命令行.找到这个的简单方法是使用Run 命令.有时,我需要知道什么 ...
- 使用Windows任务计划程序和Python备份Mysql数据库
目标:每日定时自动备份Mysql数据库 方案: 1.安装Python: 使用的Python版本是Python3.7.1,下载地址:https://www.python.org/downloads/re ...
- 使用windows任务计划程序自动清除C盘缓存文件
背景 由于应用程序会不断的产生各种临时文件和缓存文件,我们的C盘有时候不知不觉就被填满了,因此,配置一个自动清除缓存文件的脚本势在必行了. 功能 自动删除C盘的缓存和临时文件 隐藏执行时的CMD窗口 ...
- 用c#每日更换“必应背景图片”为“桌面壁纸”
必应每天都会更换背景图片,都非常漂亮,有的时候还十分惊艳,同时还会根据每个地区的特色不同应用不同的图片. 下面用c#抓取必应每天的背景图片,并实现桌面壁纸的每天自动切换 实现思路 1.通过获取&quo ...
- windows任务计划程序路径设置
用任务计划启动程序,特别是脚本,比如我要启动python脚本,其中有一句是这么写的 BasePath = removeLastSlash(os.path.abspath("..\\..\\& ...
- 利用windows服务+timer或者windows任务计划程序+控制台进行进行每日邮件推送
1.邮件发送代码 using System.Text; using System.Net; using System.Net.Mail; using System.Reflection; using ...
- windows任务计划程序 坑
- Windows任务计划创建计划,定时执行PowerShell命令
[环境介绍] 操作系统:Windows Server 2012 R2,64位操作系统 PowerShell版本:PowerShell 1.0 脚本位置:C:\BackUp.ps1 启动目录:C:\Wi ...
随机推荐
- Microsoft.Extensions.ServiceDiscovery 的 Consul 实现
GitHub地址:https://github.com/vipwan/Biwen.Microsoft.Extensions.ServiceDiscovery.Consul 使用方式 添加 NuGet ...
- 在 MySQL 创造类似 PipelineDB 的流视图(continuous view)
公司的系统采用的是 Google Cloud SQL 提供的 MySQL 数据库,由于历史原因,数据库成本极高,需要对它进行优化缩减成本. 相比 PostgresSQL,MySQL 主要缺少以下特性, ...
- 【Linux】Deepin安装Anaconda后手动配置环境变量
配置环境变量 如果安装完毕后,重新打开终端,输入conda表示没找到这个命令 说明没有配置环境变量 那么我们首先第一件事,就是找到我们的conda安装到哪里了 例如我的是安装到主目录的(默认在这的,安 ...
- Windows下用CMake构建和编译第三方依赖库并向C:\Program Files\或C:\Program Files (x86)\目录下安装编译好的静态库(.lib)和动态链接库(.dll)时的步骤和注意事项
从CMake构建和编译第三方依赖库的步骤: 1.下载第三方依赖库的源码,并解压到指定的目录中. 2.在第三方依赖库的的源码所在的目录下(一般是src/目录下)创建一个文件夹build. 3.打开CMa ...
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.3版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...
- 分析基于ASP.NET Core Kernel的gRPC服务在不同.NET版本的不同部署方式的不同线程池下的性能表现
分析基于ASP.NET Core Kernel的gRPC服务在不同.NET版本的不同部署方式的不同线程池下的性能表现 使用默认的 gRPC 项目模板创建,垃圾回收器类型为 ServerGC(Serve ...
- manim边做边学--动画联动
今天介绍Manim中的动画联动的技巧,在数学动画中,动画联动是常用的功能, 比如讲解平面几何中三角形与圆的位置关系变化,通过动画联动可以让圆沿着三角形的边滚动,或者让三角形的顶点在圆上移动,从而直观地 ...
- cpa-税法
1.税法总论 2.增值税法 3.消费税法 4.企业所得税法 5.个人所得税法 6.城市维护建设税法和烟叶税法 7.关税法和船舶吨税法 8.资源税法和环境保护税法 9.城镇土地使用税法和耕地占用税法 1 ...
- biancheng-Spring Boot框架
目录http://c.biancheng.net/spring_boot/ 1Spring Boot是什么2创建Spring Boot项目3Spring Boot starter4YAML5Sprin ...
- 00.嵌入式笔记——初识make工具和Makefile文件
1. make工具和Makefile文件 make是解决大工程编译的工具,描述哪些文件需要编译.哪些需要重新编译的文件就叫做 Makefile,Makefile 就跟脚本文件一样,Makefile 里 ...