递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1653|回复: 7
打印 上一主题 下一主题

[视窗] 求火山修改壁纸命令

[复制链接]

211

主题

446

帖子

2999

积分

金牌会员

Rank: 6Rank: 6

积分
2999
QQ
跳转到指定楼层
楼主
发表于 2024-6-4 19:13:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
**电脑没有激活,修改不了壁纸。
现在想制作一款软件能够切换壁纸的功能。
求大佬帮忙封装一个修改壁纸的方法
回复

使用道具 举报

346

主题

1599

帖子

6531

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6531
QQ
沙发
发表于 2024-6-4 19:23:10 | 只看该作者

  1. SystemParametersInfo
复制代码
  1. #include <windows.h>
  2. #include <string>

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

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

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

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





专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

346

主题

1599

帖子

6531

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6531
QQ
板凳
发表于 2024-6-4 19:25:23 | 只看该作者
你运气真好,我已经很多天没开机了,上了就看到你的贴子。。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

50

主题

567

帖子

2473

积分

金牌会员

Rank: 6Rank: 6

积分
2473
地板
发表于 2024-6-4 23:23:09 | 只看该作者
本帖最后由 呵呵仙8 于 2024-6-4 23:27 编辑
urenai 发表于 2024-6-4 19:25
你运气真好,我已经很多天没开机了,上了就看到你的贴子。。

有趣.谢谢提供函数!真成功了!





回复

使用道具 举报

211

主题

446

帖子

2999

积分

金牌会员

Rank: 6Rank: 6

积分
2999
QQ
5#
 楼主| 发表于 2024-6-7 18:44:45 | 只看该作者

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

使用道具 举报

346

主题

1599

帖子

6531

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6531
QQ
6#
发表于 2024-6-7 19:56:52 | 只看该作者
Q624353765 发表于 2024-6-7 18:44
能帮我封装到火山吗,不懂c++

不好意思。现在每天上班累的跟个狗一样,一点都不想动。

专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

69

主题

989

帖子

4464

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4464
7#
发表于 2024-6-9 17:50:23 | 只看该作者
<火山程序 类型 = "通常" 版本 = 1 />

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

使用道具 举报

33

主题

284

帖子

2341

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2341
8#
发表于 2024-6-10 07:57:49 | 只看该作者
hcwanz 发表于 2024-6-9 17:50
方法 置壁纸
参数 图片路径
{

谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 10:43 , Processed in 0.090545 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表