Как изменить фон рабочего стола с помощью VC++

В настоящее время я пытаюсь изменить фон рабочего стола с помощью SystemParametersInfo(). Vs не выдает никаких ошибок при вводе данных, но при запуске программы появляется предупреждение с желтым треугольником, в котором говорится, что возникло какое-то исключение в KernelBase.dll, а затем он говорит, что некоторые PDB не был загружен. Я сделал это давным-давно и смог заставить его работать, но я не помню, как больше кто-нибудь может мне помочь? вот что я написал

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

Кто-нибудь знает, почему это происходит и как это исправить? Любая помощь приветствуется, спасибо

2 ответа

Решение

Вам нужно добавить L к пути к файлу. 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;
}

Лучшее описание ошибки определенно поможет больше. Для начала вам следует заменить все косые черты двойными черными косыми чертами "\\".

SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, "C: \\ Windows \\ Загруженные программные файлы \\Flowers.jpg", SPIF_UPDATEINIFILE);

Это выглядит правильно, однако нельзя сказать, какова истинная причина ошибки, без немного дополнительной информации. Также файл PDB не влияет на программу, это для отладки файла.

Другие вопросы по тегам