Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-18574
Максим
2003-09-18 14:22
2003.10.06
Вышла новая версия Delphi!!!!!!


11-18284
Kosta
2003-01-24 16:04
2003.10.06
KolWord Help


14-18625
Knight
2003-09-17 03:46
2003.10.06
Бессовестная реклама своего ресурса...


1-18330
Eugene_
2003-09-22 16:38
2003.10.06
Запись массива на диск


14-18550
___Nikolay
2003-09-19 05:49
2003.10.06
* Задача 2 *





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский