Я пытаюсь использовать следующий код, чтобы изменить обои на компьютере с Windows 7. Я компилирую с многобайтовым набором символов.
if(SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, L"c:\\temp\\extracted.png", SPIF_SENDCHANGE) != 0)
{
std::cout << "Success !" << std::endl;
}
else
{
std::cout << "Failure :(" << std::endl;
std::cout << "Error: " << GetLastError() << std::endl;
system("title :(");
}
Я понятия не имею, почему это не работает, так как не возвращает код ошибки (GetLastError выдает 0). Не нужно говорить, что обои остаются неизменными.
РЕДАКТИРОВАТЬ: попытался изменить это и вместо этого поместить файл bmp.
int error(0);
if(SystemParametersInfoW(SPI_SETDESKWALLPAPER, 0, L"c:\\temp\\extracted.bmp", SPIF_SENDCHANGE) != 0)
{
std::cout << "Success !" << std::endl;
}
else
{
error = GetLastError();
std::cout << "Failure :(" << std::endl;
std::cout << "Error: " << error << std::endl;
system("title :(");
}
system("pause");
Вывод на консоль: сбой :( за ним следует ошибка: 0