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

Вниз

Kак изменить рисунок рабочего стола Windows XP?   Найти похожие ветки 

 
Muchacho   (2004-07-16 14:39) [0]

Kак изменить рисунок рабочего стола Windows XP?


 
grom   (2004-07-16 17:45) [1]

изменить обои рабочего стола
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,
                     PChar(OpenPictureDialog1.FileName), Update);
взято из рабочей программы


 
Muchacho   (2004-07-22 22:37) [2]

Вы уверены что это работает в Windows XP (Delphi 8)? у меня не получилось. Нельзя вызывать эту функцию с такими параметрами


 
grom   (2004-07-22 23:30) [3]

это работает в Windows XP
у меня Delphi 7

procedure TForm1.BWriteClick(Sender: TObject);
var Update: Cardinal;
   TileWallpaper, WallpaperStyle: string;
begin
if RadioGroup1.ItemIndex = 0
  then Update := SPIF_UPDATEINIFILE
  else Update := SPIF_SENDCHANGE;
case CBStyle.ItemIndex of
 0: begin
     TileWallpaper := "0";
     WallpaperStyle := "2";
    end;
 1: begin
     TileWallpaper := "0";
     WallpaperStyle := "0";
    end;
 2: begin
     TileWallpaper := "1";
     WallpaperStyle := "0";
    end;
end;
reg.OpenKey("Control Panel\Desktop",false);
reg.WriteString("TileWallpaper", TileWallpaper);
reg.WriteString("WallpaperStyle", WallpaperStyle);
reg.CloseKey;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,
                     PChar(OpenPictureDialog1.FileName), Update);
end;
могу выслать полностью исходник


 
Alex#abc   (2004-07-23 09:36) [4]

unit UDT;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, Registry;

type
 TForm1 = class(TForm)
   OpenDialog1: TOpenDialog;
   Picture: TButton;
   ReFresh: TButton;
   PSet: TButton;
   procedure PictureClick(Sender: TObject);
   procedure PSetClick(Sender: TObject);
   procedure ReFreshClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 FPic:string;

implementation

{$R *.dfm}

procedure TForm1.PictureClick(Sender: TObject);
begin
if OpenDialog1.Execute then Fpic:=OpenDialog1.FileName;
end;

procedure TForm1.PSetClick(Sender: TObject);
var reg:TRegIniFile;
begin
   reg:=TRegIniFile.Create("control panel\desktop");
   reg.WriteString("","wallpaper",FPic);
   reg.WriteString("","tileWallpaper","0");
   reg.WriteString("","Wallpaperstyle","0");
   reg.Free;
end;

procedure TForm1.ReFreshClick(Sender: TObject);
begin
 PSet.Click;
 SystemParametersInfo(SPI_SETDESKWALLPAPER,0,NIL,(SPIF_SENDWININICHANGE+SPIF_UPDATEINIFILE));
end;

end.


 
Muchacho   (2004-07-23 17:56) [5]

сделал как сказал Alex#abc , все как-будто нормально, записывает в реестр тоже, но только не обновляется. В чем проблема по-вашему?


 
Alex#abc   (2004-07-26 09:44) [6]

У меня была тажа проблема связанная с Active DeskTop, как пишут умные люди, вся проблема в строке:

SystemParametersInfo(SPI_SETDESKWALLPAPER,0,NIL,(SPIF_SENDWININICHANGE+SPIF_UPDATEINIFILE));

А точнее в ее последнем параметре (взято из работающей программы (полный текст  смотри в прошом послании))


 
Alex#abc   (2004-07-26 09:45) [7]

PS
в 2000 работает как часы!


 
Muchacho   (2004-07-26 21:05) [8]

Спасибо вам, но это работает только для формата бмп. Если  пользователь выбират рисунок jpeg в окне свойства экрана, XP переобразует его в бмп, сохраняет как
Documents and Settings\User\Local Settings\Application Data\Microsoft\wallpaper1.bmp
и записывает в реестр соответствуюшие пути.
Я в программе переобразовал jpeg в bmp, но тогда качество заметно ухудшается. Подскажите пожалуюста, что сделать?



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.032 c
6-1089025549
Alexander_Fomin
2004-07-05 15:05
2004.09.12
Проверка доменых имен


3-1091095216
Labert
2004-07-29 14:00
2004.09.12
ERWin, Sybase Power Builder


4-1091120974
DeMus
2004-07-29 21:09
2004.09.12
Как подключить в программе кассовый аппарат


1-1093519284
WellSlava
2004-08-26 15:21
2004.09.12
Использование BPL


14-1092981849
Qwer
2004-08-20 10:04
2004.09.12
Delphi 7 + CR9 !!!





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