Change wallpaper programmatically using c++ and windows api

后端 未结 3 1126
灰色年华
灰色年华 2021-02-03 13:40

I\'ve been trying to write an application, using Qt and mingw32, to download images and set them as the background Wallpaper. I have read several articles online about how to do

3条回答
  •  萌比男神i
    2021-02-03 14:41

    It could be that SystemParametersInfo is expecting an LPWSTR (a pointer to wchar_t).

    Try this:

    LPWSTR test = L"C:\\Documents and Settings\\Owner\\My Documents\\Wallpapers\\wallpaper.png";
    
    result = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, test, SPIF_UPDATEINIFILE);
    

    If this works (try it with a few different files just to make sure), you'll need to convert your char * to a LPWSTR. I'm not sure if Qt offers these services, but one function that may help is MultiByteToWideChar.

提交回复
热议问题