Search code examples
c++desktopwallpaper

How to change desktop background using VC++


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


Solution

  • 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;
    }