Форум программистов, компьютерный форум, киберфорум
antonboom
Войти
Регистрация
Восстановить пароль
Карта форума Блоги Сообщество Поиск Заказать работу  
Оценить эту запись

Изменение фона рабочего стола Win7. Delphi Pascal

Запись от antonboom размещена 26.01.2014 в 13:30

Программа, реализующая изменение фона рабочего стола на картинку, которая создается перед этим на рабочем столе программно.
Среда разработки: Turbo Delphi 6
Язык: Delphi Pascal
На форме всего лишь одна кнопка (можно, конечно, обойтись и без неё):
Кликните здесь для просмотра всего текста
Название: стимул.jpg
Просмотров: 1069

Размер: 14.7 Кб

Код основного юнита (не обращайте внимания на название):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
unit Stimul1;
 
interface
//Обратим внимание на extctrls и Graphics
uses Windows, Messages, SysUtils, Variants, Classes, Controls, Forms,
     Dialogs, StdCtrls,Registry, WinProcs, extctrls, Graphics;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  end;
 
var
  Form1: TForm1;
 
implementation
 {$R *.dfm}
//Создаем изображение при запуске формы
procedure TForm1.FormCreate(Sender: TObject);
 var img: TBitmap;
     sohr: string;
     s,s1:string;
begin
  s1:='username';
 s:=GetEnvironmentVariable(s1);
 //куда сохранить изображение (рабочий стол)
 sohr:='C:\Users\'+s+'\Desktop\image.bmp'; 
 
 img:=TBitmap.create;
 img.Height:=Screen.Height;
 img.Width:=Screen.Width;
 img.Transparent:= false;
 img.Canvas.Brush.Color := clWhite; //Цвет фона - белый
 img.Canvas.Font.Color := clBlack;  //Цвет шрифта - чёрный
 img.Canvas.Rectangle(0,0,Screen.Width,Screen.Height);
 img.Canvas.Pen.Color := clWhite;
 img.Canvas.Font.Size := 48; //Размер шрифта
 img.Canvas.TextOut(100,150,'РЕБЯТА');
 img.Canvas.TextOut(100,250,'ВСЕМ');
 img.Canvas.TextOut(100,350,'ПРИВЕТ!');
 img.SaveToFile(sohr);
 img.Free;
 
end;
 
//Меняем на наше изображении при клике на кнопку
procedure TForm1.Button1Click(Sender: TObject);
 var
    reg : TRegIniFile;
    sWallpaperBMPPath:string;
    bTile:boolean;
     s,s1:string;
begin
 //Получаем неявно имя пользователя
 s1:='username';
 s:=GetEnvironmentVariable(s1);
// Изменяем ключи реестра
// HKEY_CURRENT_USER 
// Control Panel\Desktop
// TileWallpaper (REG_SZ)
// Wallpaper (REG_SZ) 
 reg := TRegIniFile.Create('Control Panel\Desktop' );
 with reg do begin
//путь к картинке, я думаю вам какой-нибудь другой захочется
 sWallpaperBMPPath:='C:\Users\'+s+'\Desktop\image.bmp';
//По центру рабочего стола
 bTile:=false;
 WriteString( '', 'Wallpaper', sWallpaperBMPPath );
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;
end.
Архив с программой: Image.zip
Размещено в Без категории
Показов 4036 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru