【问题标题】:How to make a batch file that changes the wallpaper of a computer如何制作更改电脑壁纸的批处理文件
【发布时间】:2014-04-15 21:36:51
【问题描述】:

我想创建一个批处理文件,该文件稍后将被转换为一个 exe,它会在我打开它时立即更改我的电脑壁纸。抱歉,我不知道该怎么做 D:

【问题讨论】:

标签: batch-file exe wallpaper


【解决方案1】:

这个问题的通常答案是

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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多