如何使用VC ++更改桌面背景

时间:2016-10-06 03:15:54

标签: c++ desktop wallpaper

我目前正在尝试使用SystemParametersInfo()更改我的桌面背景 当我输入我的东西时,vs并没有给我任何错误但是当我运行程序时,我得到了黄色三角形的警告,它说KernelBase.dll抛出了某种异常,然后它说某些PDB还没有加载。我很久以前做过这个并且能够让它上班但我不记得怎么能有人帮我了?这是我写的

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:/Windows/Downloaded Program Files/Flowers.jpg", SPIF_UPDATEINIFILE);

有谁知道为什么会发生这种情况以及如何解决这个问题?感谢任何帮助,谢谢

2 个答案:

答案 0 :(得分:3)

您需要将L添加到文件路径中。 L"C:/Windows/Downloaded Program Files/Flowers.jpg"

#include "stdafx.h"
#include <windows.h>

int main() {

    int return_value = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, L"d:/flower1.jpg", SPIF_UPDATEINIFILE);

    return 0;
}

答案 1 :(得分:-1)

更好地描述错误肯定会有所帮助。但对于初学者来说,你应该用双黑色斜线替换所有正斜杠&#34; \\&#34;。

SystemParametersInfo(SPI_SETDESKWALLPAPER,0,&#34; C:\\ Windows \\ Downloaded Program Files \\ Flowers.jpg&#34;,SPIF_UPDATEINIFILE);

这看起来是正确的,但是如果没有更多的信息,就不知道错误的实际原因是什么。此外,PDB文件不会影响用于调试文件的程序。