Я считаю, что вы должны использовать wchar_t
в качестве ввода для SystemParametersInfo()
вместо строки, а также использовать SystemParametersInfoW()
.
Следующий код работал для меня:
#include <windows.h>
#include <iostream>
int main() {
const wchar_t *path = L"C:\\image.png";
int result;
result = SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, (void *)path, SPIF_UPDATEINIFILE);
std::cout << result;
return 0;
}
Где результат должен вернуть true, если ему удастся изменить фон.