Q624353765 发表于 2024-6-4 19:13:07

求火山修改壁纸命令

**电脑没有激活,修改不了壁纸。
现在想制作一款软件能够切换壁纸的功能。
求大佬帮忙封装一个修改壁纸的方法

urenai 发表于 2024-6-4 19:23:10


SystemParametersInfo#include <windows.h>
#include <string>

// 修改Windows桌面壁纸的函数
bool setWallpaper(const std::wstring& imagePath) {
    // 确保图片路径存在
    if (!std::filesystem::exists(imagePath)) {
      return false; // 图片文件不存在
    }

    // 调用SystemParametersInfo函数设置壁纸
    int result = SystemParametersInfo(
      SPI_SETDESKWALLPAPER, // 功能代码,用于设置桌面壁纸
      0,                  // 不使用此参数(需为0)
      imagePath.c_str(),   // 壁纸图片文件路径
      SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); // 更新INI文件并发送变化通知

    // 检查操作是否成功
    return result != 0;
}

int main() {
    std::wstring imagePath = L"C:\\path\\to\\your\\image.jpg"; // 请替换为实际图片路径
    if (setWallpaper(imagePath)) {
      std::cout << "壁纸设置成功!" << std::endl;
    } else {
      std::cout << "设置壁纸时发生错误。" << std::endl;
    }
    return 0;
}




urenai 发表于 2024-6-4 19:25:23

你运气真好,我已经很多天没开机了,上了就看到你的贴子。。

呵呵仙8 发表于 2024-6-4 23:23:09

本帖最后由 呵呵仙8 于 2024-6-4 23:27 编辑

urenai 发表于 2024-6-4 19:25
你运气真好,我已经很多天没开机了,上了就看到你的贴子。。
有趣.谢谢提供函数!真成功了!





Q624353765 发表于 2024-6-7 18:44:45

urenai 发表于 2024-6-4 19:23


能帮我封装到火山吗,不懂c++

urenai 发表于 2024-6-7 19:56:52

Q624353765 发表于 2024-6-7 18:44
能帮我封装到火山吗,不懂c++
不好意思。现在每天上班累的跟个狗一样,一点都不想动。

hcwanz 发表于 2024-6-9 17:50:23

<火山程序 类型 = "通常" 版本 = 1 />

方法 置壁纸 <类型 = 逻辑型 @禁止流程检查 = 真>
参数 图片路径 <类型 = 文本型>
{
    如果 (文件是否存在 (图片路径))
    {
      @ return 0!=SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,(PVOID)@<图片路径>.GetText(),SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
    }
    返回 (假)
}

兵三进一 发表于 2024-6-10 07:57:49

hcwanz 发表于 2024-6-9 17:50
方法 置壁纸
参数 图片路径
{


谢谢分享:):):)
页: [1]
查看完整版本: 求火山修改壁纸命令