Устанавливаем свой WallPaper для Windows средствами Delphi
ПРОГРАММ: 649 | СТАТЕЙ: 103 | КОДОВ: 3433   

    главная        новости        программы        библиотека        коды        рейтинг       форум   

Афоризм
Косметику с носа снимают по направлению от переносицы к копчику.
 
5 лучших
  Take4Free - Возьми бесплатно
  SoftHomeRU-программы для домашнего компьютера
  Углекислотное оборудование от Автогазтранс
  «Мир спецодежды» - качество по разумной цене
  Тягачи седельные из Европы от компании «Прокофьев-Авто».
 
Поиск


 
Рассылка
| Soft-Ежедневник - обзор программ прямо к Вам на e-mail
 
 

  Библиотека > программирование > Delphiдобавить статью
Устанавливаем свой WallPaper для Windows средствами Delphi

В этой статье мы рассмотрим вопрос о том, как средствами Delphi можно поменять обои на рабочем столе...
 
delphid.dax.ru
winsov.ru
10-05-2004
Версия для печати
печать

В этой статье мы рассмотрим вопрос о том, как средствами Delphi можно поменять обои на рабочем столе. Информацию о картинке, которая находится на рабочем столе, конечно же, можно найти в реестре! Она находится в ключе HKEY_CURRENT_USER, а добраться до нее можно по такому пути:

HKEY_CURRENT_USERControl PanelDesktop

А параметр, содержащий название картинки, носит имя "wallpaper". То есть для того, чтобы сменить обои нам надо изменить значение параметра "wallpaper" и оповестить систему о том, что мы внесли изменения в реестр.

Итак, приступим, для работы нам понадобятся два дополнительных модуля: Registry.pas и WinProcs.pas, которые надо обязательно подключить в раздел uses Вашей программы. Нам потребуется всего одна кнопка, по нажатию на которую у нас будут меняться обои на Рабочем столе.

Для наглядности привожу полный код приложения, которое получилось у меня:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Registry, WinProcs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure SetWallpaper(sWallpaperBMPPath : String; bTile : boolean );
var reg : TRegIniFile;
begin
// Изменяем ключи реестра
// HKEY_CURRENT_USER
// Control PanelDesktop
// TileWallpaper (REG_SZ)
// Wallpaper (REG_SZ)
reg := TRegIniFile.Create("Control PanelDesktop" );
with reg do begin
WriteString( "", "Wallpaper", sWallpaperBMPPath );
if( bTile )then begin
WriteString("", "TileWallpaper", "1" );
end
else begin
WriteString("", "TileWallpaper", "0" );
end;
end;
reg.Free;
// Оповещаем всех о том, что мы
// изменили системные настройки
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE );
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
SetWallpaper("c:windows1stboot.bmp", False );
end;

end.

Но надо помнить что этот код будет действовать только при отключенном ActiveDesctop. Если же он у Вас включен или Вы хотите установить на Рабочий Стол картинку в формате .JPG или .GIF, то Вам потребуется использовать код, приведенный ниже

uses
ComObj,  ShlObj;

procedure ChangeActiveWallpaper;
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}"; 

var
ActiveDesktop: IActiveDesktop; 

begin
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop; ActiveDesktop.SetWallpaper("c:windowsforest.bmp",0); 

ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE); 

end;

 Ну вот вроде бы и все, используйте на здоровье!..



Комментарии
Оставить комментарий

Demon | 10-01-08 15:05
Текст неверен.
"{75048700-EF1F-11D0-9888-006097DEACF9}"
надо ставить одинарные кавычки. Также компилятор ругается на отсутсвие вызова CoInitializte

Имя:
E-mail:
Сообщение:


Число:

   очистить

популярные статьи по теменовые статьи
Плохой и хороший траффик
web - разработка / Раскрутка в сети
Наука о web-браузерах
web - разработка / Сайтостроительство
Опытный заказчик + опытный дизайнер = хороший дизайн
web - разработка / Web-дизайн
О технике интернет-рекламы
web - разработка / Раскрутка в сети
Flash-технология. Недостатки
web - разработка / Web-дизайн
Загрузка ...

Опрос
На что Вы обращаете внимание в первую очередь при покупке товара в интернет-магазине?  
 
Комментарии и оценку пользователей
Наличие нескольких фотографий
Подробное и качественное описание
Условия доставки
Возможность покупки в кредит
 
Самое свежее  
 ПРОГРАММЫ

Registry Mechanic 8.00.900
Registry Mechanic 8.00.900

Dr.Web 4.44.5.23070
Dr.Web 4.44.5.23070

PowerArchiver 2009 11.0 Beta 2
PowerArchiver 2009 11.0 Beta 2

 НОВОСТИ

Мы победили! Олимпиада 2014 пройдет в Сочи
Мы победили! Олимпиада 2014 пройдет в Сочи

Алкогольный и наркотический террор против России
Алкогольный и наркотический террор против России

 БИБЛИОТЕКА

Плохой и хороший траффик
Плохой и хороший траффик

Наука о web-браузерах
Наука о web-браузерах

 
Рекомендую!




Copyright © 2004-2008 MostInfo.net  | связь с админом
При использовании материалов сайта ссылка на MostInfo обязательна.