Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фоновый рисунок рабочего стола [D7, WinXP]


Гриха ©   (2005-08-10 07:42:00) 

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


Bekzhan   (2005-08-10 08:59:00) [1]

{Обновить}
uses
  ShlObj;

procedure RefreshDesktop1;
begin
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;


Bekzhan   (2005-08-10 08:57:00) [2]

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:\windows\forest.bmp', 0);
 ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;


Duracell   (2005-08-10 08:44:00) [3]

SystemParametersInfo(
                      SPI_SETDESKWALLPAPER,
                      NULL,
                      BmpFile,                // <-- Wallpaper
                      SPIF_SENDWININICHANGE |
                      SPIF_UPDATEINIFILE
                   );


Big Joe   (2005-08-10 07:59:00) [4]

uses ...Registry; //подключаем модуль
...
procedure TForm1.Button1Click(Sender: TObject);
var
 Reg: TRegIniFile;
begin
 Reg := TRegIniFile.Create('Control Panel');
 Reg.WriteString('desktop', 'Wallpaper', 'c:\windows\Установка.bmp');
 Reg.WriteString('desktop', 'TileWallpaper', '0');
 Reg.Free;
 SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;


begin...end   (2005-08-10 07:51:00) [5]

SystemParametersInfo


Наверх

Титульная страница Поиск, карта сайта Написать письмо