我想创建一个批处理文件,稍后将其转换为exe,一打开它就会更改我的计算机的壁纸。对不起,我不知道怎么做D:
答案 0 :(得分:2)
这个问题的通常答案是
reg add "HKCU\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d "c:\somewhere\something.bmp" /f
在注册表中设置已填写的条目,然后是
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
通知系统更改。
但是,从Windows Vista这种方法不起作用。或者至少不是按预期的。注册表的更改将适用于新登录。立即改变壁纸的唯一有效方法是使用windows api。
对于powershell解决方案,您可以找到解决方案here
如果您有权访问C编译器,则此代码应该执行相同的操作(使用mingw-gcc进行测试)
#include <windows.h>
int main(int argc, char **argv)
{
if (argc < 2) return 1;
if (! SystemParametersInfo(
SPI_SETDESKWALLPAPER,
0,
argv[1],
SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE
)) return 2;
return 0;
}