Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
ВнизКак программно сменить фоновый рисунок рабочего стола? Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c