• Главная
  • Исходники Delphi
  • Справочники Delphi
  • Книги Delphi
  • Основы Delphi
  • библиотека Delphi исходников
  • Форум
  • Блоги

Последние записи

  • Прозрачность тайлсета в TPNGImage
  • Как сделать VBA макрос в excel
  • Поиск по столбцу 1-ого не нулевого значения (формулой в Microsoft Office Excel)
  • Простановка единиц в ячейки под объектами (Microsoft Office Excel)
  • Расчет затраченного времени между определенным рабочим временем (формулой в Microsoft Office Excel)
  • Мигающий экран на Assembler
  • VBA-макрос по копированию 10 строчек в выбранном диапазоне в Microsoft Office Excel
  • Копирование только нужного диапазона в Microsoft Office Excel
  • Перенос диапазона стоки в Microsoft Office Excel на другой лист по условию
  • Мелодия в Pascal.ABC.Net с помощью System.Console.Beep — задержка воспроизведения звука

made in programmersforum 7

programmersforum7

  • .NET
  • ASP.NET
  • assembler
  • Basic
  • c/c++
  • CMS
  • Delphi
  • HTML
  • iPhone
  • Java
  • JavaScript
  • Linux
  • Pascal
  • Perl
  • Photoshop
  • php
  • Python
  • Ruby
  • SEO
  • sql
  • VBA
  • Win Api
  • Windows
  • XML и XSLT
  • Администрирование ОС
  • Апгрейды
  • Архив
  • Безопасность
  • Блоги
  • Веб-аналитика
  • Железо
  • Журнал
  • Заметки
  • Имейдж
  • Интервью
  • Исходники
  • Новости
  • Общалка
  • Операционные системы
  • Пост-обзор
  • Профлитература
  • Рассылка
  • Реклама
  • си шарп
  • Советы
  • Софт
  • Статьи
  • Топик-обзор
  • Файлы








21st
Окт

Установить фоновый рисунок на рабочий стол?

Posted by Chas under Топик-обзор

первый способ:

const
 Desktop: TGuid=‘{75048700-EF1F-11D0-9888-006097DEACF9}’; //для получения доступа к рабочему столу
var
 ActiveDeskTop:IActiveDesktop; // вроде понятно, зачем
 WallpaperOptions: TWallPaperOpt;

begin
 ActiveDesktop:=CreateComObject(Desktop) as IActiveDesktop; //создаем объект и получаем разрешение доступа к рабочему столу
 ActiveDesktop.SetWallpaper(StringToOleStr(FileListBox1.Filename), 0); // определились с выбором картинки
 WallpaperOptions.dwSize := SizeOf(WallpaperOptions);
 // WallpaperOptions.dwStyle := WPSTYLE_TILE; // или WPSTYLE_CENTER, или WPSTYLE_STRETCH
  OleCheck(ActiveDesktop.SetWallpaperOptions(WallpaperOptions, 0));
 ActiveDesktop.ApplyChanges(AD_APPLY_ALL); // применяем картинку на рабочем столе
end;

второй способ:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,ComObj, ShlObj;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function StringToPWide(sStr: string): PWideChar;
var
  pw: PWideChar;
  iSize,iNewSize: integer;
begin
  iSize := Length(sStr) + 1;
  iNewSize := iSize * 2;

  pw := AllocMem(iNewSize);

  MultiByteToWideChar(CP_ACP, 0, PChar(sStr), iSize, pw, iNewSize);

  Result := pw;
end;

  procedure ChangeActiveWallpaper(putwallpaper:pwidechar);
const
  CLSID_ActiveDesktop: TGUID = ‘{75048700-EF1F-11D0-9888-006097DEACF9}’;
var
  ActiveDesktop: IActiveDesktop;
begin
  ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
    as IActiveDesktop;
  ActiveDesktop.SetWallpaper(putwallpaper, 0);
  ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
end.

Тема на форуме

Похожие статьи

  • Управление отображением рабочего стола Windows на нескольких экранах
  • Как нарисовать что-то на рабочем столе?
  • Рисование текста на рабочем столе
  • Как удалить и копировать файлы с рабочего стола с помощью программы на Delphi
  • Тест в Delphi с помощью RadioGroup
  • Random слов в Memo
  • Плавное перемещение Image больших размеров
  • Выдвижное меню
  • Получение яндекс каптчи в Image
  • Добавить строку с верха вниз StringGrid
Теги: Delphi | рабочий стол








© Copyright "Клуб программистов" – материалы по Delphi и С++. Создание и продвижние сайта - Веб-сателлит.