Собственно вся программа сводится к вызову одной WinAPI функции (ну, может, если это должнабыть самостоятельная прога, то какая-то логика у тебя будет в полуучении имени файла того "обоя", который нужно установить. В простейшем случае - можно передать как параметр командной строки):
SystemParametersInfo(
UINT uiAction, // system parameter to retrieve or set
UINT uiParam, // depends on action to be taken
PVOID pvParam, // depends on action to be taken
UINT fWinIni // user profile update option
);
Вызов именно для установки обоев будет выглядеть так:
Код: Выделить всё
bool blOK = SystemParametersInfo (
SPI_SETDESKWALLPAPER,
0,
<твое_имя_файла_рисунка>,
SPIF_UPDATEINIFILE);
ПРИМЕЧАНИЕ: Насколько я понимаю, <файл_рисунка> ДОЛЖЕН быть в BMP-формате.
Еще такое воспоминание из области "шаманства", когда я писал сееб такую прогу. После компиляции этого текста на Microsoft C++ и запуск получившейся EXE-шки на, по-моему, Win98 эта функция (SystemParametersInfo) возвращала ошибку (точно не помню какую). А на Win2000 нормально устанавливала.
Скомпилировал на Borland C++ - работает без проблем!
Загадка, блин!
