Вниз
Скачать: CL | DM;

Замена обоев на рабочем столе.   Найти похожие ветки 

 
tim5 ©   (2003-09-22 21:10) [0]

Привет Всем!!! Пожалуйста подскажите, как сделать чтобы при нажатии
на кнопку на рабочем столе изменялись обои. Я попробовал вот этот
код, но у меня он не работает.

procedure ChangeWallpaper(Path: String);
var
PC: Array[0..$FF] of Char;
begin
StrPCopy(PC, Path);
SystemParametersInfo(spi_SetDeskWallpaper, 0, @PC, spif_UpdateIniFile);
end;

Может я не указал каких-нибудь библиотек, подскажите какие должны быть.


 
dataMaster ©   (2003-09-22 21:16) [1]

{
"Замостить" обои:
SetWallpaper(путь,true,false );
По центру:
SetWallpaper(путь,false,true );
Растянуть:
SetWallpaper(путь,false,false );

}
procedure SetWallpaper(sWallpaperBMPPath : String; bTile,bRas : boolean );
var
reg : TRegIniFile;
begin
reg := TRegIniFile.Create("Control Panel\Desktop" );
with reg do
begin
WriteString( "", "Wallpaper", sWallpaperBMPPath );
if( bRas )then
begin
WriteString("", "WallpaperStyle", "0" );
end else begin
WriteString("", "WallpaperStyle", "2" );
end;
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;


 
dataMaster ©   (2003-09-22 21:23) [2]

Код

procedure ChangeWallpaper(Path: String);
var
PC: Array[0..$FF] of Char;
begin
StrPCopy(PC, Path);
SystemParametersInfo(spi_SetDeskWallpaper, 0, @PC, spif_UpdateIniFile);
end;


под 98 работает


 
Романов Р.В. ©   (2003-09-22 22:15) [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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
1-18423
Serginio666
2003-09-25 13:23
2003.10.06
Как програмно управлять сервисом ???


1-18353
RedEagle
2003-09-23 09:38
2003.10.06
Разноцветные строки в ListBox


1-18287
evgeniy33
2003-09-26 09:24
2003.10.06
как отключить в программе нажатие Alt+F4


1-18312
Abikos
2003-09-23 20:09
2003.10.06
функция обратная StrToHex


1-18308
leonidus
2003-09-19 22:00
2003.10.06
Вопрос по TreeView




   Наверх