How to change desktop background using VC++

匆匆过客 提交于 2019-12-23 04:08:09

问题


I am currently trying to change my desktop background using SystemParametersInfo() vs doesnt give me any errors when I type my stuff in but when I run the program I get this warning with the yellow triangle and it says there was some kind of exception thrown at KernelBase.dll and then it says that some PDB has not been loaded. I did this a long time ago and was able to get it to work but i dont remember how anymore can anyone help me out? here is what I have written

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

does anyone know why this is happening and how to fix it? Any help is appreciated, thanks


回答1:


You need to add L to the file path. 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;
}



回答2:


A better description of the error would definitely help more. For starters though, you should replace all of the forward slashes with double black slashes "\\".

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

That looks right, however there's no telling what the actual cause of the error is without a little more information. Also a PDB file does not affect a program, that's for debugging a file.



来源:https://stackoverflow.com/questions/39886948/how-to-change-desktop-background-using-vc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!