gpt4 book ai didi

c++ - 使用 SystemParametersInfo 函数设置桌面墙纸时出现问题

转载 作者:行者123 更新时间:2023-11-30 02:10:11 27 4
gpt4 key购买 nike

我刚刚学习 C++,正在尝试编写一个小程序来更改桌面墙纸。使用文档 here ,我写了这个程序:

#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")

void main(){

BOOL success = SystemParametersInfo(
SPI_SETDESKWALLPAPER, //iuAction
0, //uiParam
"C:\\test.jpg", //pvParam
SPIF_SENDCHANGE //fWinIni
);
if (success){
printf("Success!\n");
}else
printf("Failure =(\n");
}

当我尝试为 pvParam 指定文件路径时,程序总是失败。如果我将 pvParam 设置为“”,它将正确清除墙纸。我做错了什么?

谢谢-Abhorsen

最佳答案

除了 Dennis 对 JPEG 文件的评论之外,是否使用有效的 UNICODE 进行编译也很重要。如果这样做,则必须将文件指定为 L"C:\test.jpg"。注意字符串前面的 L,这使它成为一个宽字符串。或使用 SystemParametersInfoA(),注意 A(但它是过时的)。

关于c++ - 使用 SystemParametersInfo 函数设置桌面墙纸时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4867952/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com