Я просто изучаю C++ и пытаюсь написать небольшую программу для изменения обоев рабочего стола. Использование документации here, я написал эту программу:Проблема установки обои для рабочего стола с использованием SystemParametersInfo Функция
#include <windows.h>
#include <stdio.h>
#pragma comment(lib, "user32.lib")
void main(){
BOOL success = SystemParametersInfo(
SPI_SETDESKWALLPAPER, //iuAction
0, //uiParam
"C:\\test.jpg", //pvParam
SPIF_SENDCHANGE //fWinIni
);
if (success){
printf("Success!\n");
}else
printf("Failure =(\n");
}
Программа всегда терпит неудачу при попытке указать путь к файлу для pvParam. Он правильно очистит обои, если я установил pvParam в "". Что я делаю не так?
Благодаря -Abhorsen
Задание файла как L "C: \\ test.jpg" сработало. Можете ли вы объяснить, что означает компиляция с UNICODE, и как я могу проверить, действительно ли я это делаю? –
Он находится на странице общих настроек, настройка набора символов. –
Чтобы добавить дополнительные сведения об этом ответе для будущих читателей, проблемы Unicode возникают постоянно при использовании windows.h и связанных с ними. Более подробную информацию о юникоде можно найти здесь: http://en.wikibooks.org/wiki/Windows_Programming/Unicode –