Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

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

 
rts111 ©   (2005-02-09 22:09) [0]

Я сделал изменения в registry:

procedure TForm1.Button1Click(Sender: TObject);
var
a:TRegistry;
begin
a:=TRegistry.Create;
a.OpenKey("\Control Panel\Desktop",false);
a.WriteString("Wallpaper","c:\myPic.bmp");
a.WriteString("WallpaperStyle","0");
a.Free;
... ??? ...
end;

Что нужно сделать,
что-бы новая картинка появилась на рабочем столе(без перезагрузки)?


 
iskatel ©   (2005-02-10 00:24) [1]

десктоп обновить наверное, а вообще вроде есть сообщение, которое картинку меняет, только я его не помню, поищи


 
rts1111   (2005-02-10 12:27) [2]

???


 
КаПиБаРа ©   (2005-02-10 12:37) [3]

program ChWpp;

uses
 ShlObj, ComObj, ActiveX, Windows;
{$R *.res}

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

var
 path: widestring;
 ActiveDesktop: IActiveDesktop;
 f: textfile;

begin
 path := "E:\desktop\640x480\1024x768\NEW!\wallpaper_12.jpg";
 if path <> "" then
   try
     CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
     ActiveDesktop := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
     ActiveDesktop.SetWallpaper(PWideChar(path), 0);
     ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
   finally
     CoUninitialize;
   end;

end.



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
3-1108301250
Дончанин
2005-02-13 16:27
2005.03.20
Распределенные базы данных


1-1109844534
leonidus
2005-03-03 13:08
2005.03.20
Toolbar как в Word`е XP


9-1104069951
Brak
2004-12-26 17:05
2005.03.20
Сгдаживание точки в OpenGL


1-1109916724
Laymer
2005-03-04 09:12
2005.03.20
Application


4-1106238066
volser
2005-01-20 19:21
2005.03.20
CreateRemoteThread???