Главная страница
    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.008 c
4-18676
Nick Denry
2003-07-30 18:00
2003.10.06
Граница меню. - Меню пуск или что - то подобное...


14-18639
Сатир
2003-09-16 20:34
2003.10.06
глюк


1-18343
ghg
2003-09-23 13:48
2003.10.06
дождаться завершения процесса


14-18594
dimon1979
2003-09-18 11:41
2003.10.06
Установка компонент


1-18327
Dark Elf
2003-09-23 19:02
2003.10.06
Свойство Options в StringGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский