![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как изменить фоновую картинку на рабочем столе.
Yandexman © (2005-06-01 12:53:00)Тема была незаслуженно закрыта, поэтому извиняюсь за открытие новой.
вот код программы, совместил 3 и 8, но от этого картинка не менятся!
procedure SetWallpaper(sWallpaperBMPPath: string; bTile: boolean);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
with reg do
begin
RootKey:=HKEY_CURRENT_USER;
OpenKey('Control Panel\Desktop',True);
WriteString('Wallpaper',sWallpaperBMPPath);
end;
reg.Free;
SystemParametersInfo(spi_SetDeskWallpaper, 0, PChar(sWallpaperBMPPath) , spif_UpdateIniFile);
end;
rOOse (2005-06-01 18:52:00) [21]
> [8] vaxluk (01.06.05 18:48)
упс забыл;)
vaxluk (2005-06-01 18:48:00) [22]не забудь добавить
uses
ComObj, ShlObj;
vaxluk (2005-06-01 18:32:00) [23]const
CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
ActiveDesktop: IActiveDesktop;
begin
ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
as IActiveDesktop;
ActiveDesktop.SetWallpaper('', 0); \\ путь к картинке
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
rOOse (2005-06-01 16:39:00) [24]Удалено модератором
rOOse (2005-06-01 16:36:00) [25]Удалено модератором
rOOse (2005-06-01 16:34:00) [26]Удалено модератором
rOOse (2005-06-01 16:33:00) [27]Удалено модератором
rOOse (2005-06-01 16:28:00) [28]procedure tform1.SetWallpaper(sWallpaperBMPPath:String;bTile:boolean);
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create('Control Panel\Desktop' );
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, il,SPIF_SENDWININICHANGE );
end;
вот работает
Eraser (2005-06-01 15:07:00) [29]Yandexman (01.06.05 12:53)
Что возвращает ф-я SystemParametersInfo?