Шаг 149 - SystemParametersInfo и смена рисунка рабочего стола

Фунция SystemParametersInfo может изменить рисунок рабочего стода. Вообще-то мы с ней один раз уже сталкивались вскользь в "Подробности - Просмотр видео и разворачивание проекта на весь экран". Она может очень много. В данном случае нас интересует параметр SETDESKWALLPAPER. Дальше указываеться имя BMP файла и команда изменения окна. Смотрим пример:

// VC++ Sample Code.
//

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{
	char filename[10];
	strcpy(filename,"1.bmp");
	if (SystemParametersInfo(SPI_SETDESKWALLPAPER,0,
		&filename,SPIF_SENDWININICHANGE)==TRUE)
	{
		cout << "Ok change" << endl;
	}
	else
		cout << "Error change" << endl;
}

В результате у Вас сменится картинка рабочего стола. Я не указывал путь, а это значит что путь к картинку по умолчанию, то есть каталог Windows. Но это будет временная смена картинки, в реестр она не занесется и после перезагрузки пропадет. Почитайте "Шаг 33 - Где в реестре хранятся настойки рабочего стола" и вы сами убедитесь после выполнения программы. Потом можете перегрузиться для надежности. Для того, чтобы запись в реестр произошла и обои существовали после загрузки последним параметром должен быть SPIF_UPDATEINIFILE. В таком случае запись в реестр будет произведена.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.