Текущий архив: 2003.10.06;
Скачать: 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 вся ветка
Текущий архив: 2003.10.06;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.007 c