Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Change wallpaper! Help


Страницы:   1 2

pioli ©   (2013-01-25 18:38:00) 

Прога должна менять обои на рабочем столе, в delphi полный ноль

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
 ActiveDesktop: IActiveDesktop;
 hDesc:HRESULT;
    begin
hDesc:=CoCreateInstance(CLSID_ActiveDesktop,nil,CLSCTX_INPROC_SERVER,IID_IActive Desktop,ActiveDesktop);
if not Failed(hDesc) then

begin  
ActiveDesktop.SetWallpaper(D:\0.bmp, 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;

Ошибки:
 [Error] Unit1.pas(19): Statements not allowed in interface part
 [Error] Unit1.pas(20): Undeclared identifier: 'CoCreateInstance'
 [Error] Unit1.pas(20): Undeclared identifier: 'CLSCTX_INPROC_SERVER'
 [Error] Unit1.pas(20): Undeclared identifier: 'IID_IActiveDesktop'
 [Warning] Unit1.pas(24): Unsafe type 'PChar'
 [Error] Unit1.pas(28): Statement expected but end of file found
 [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Что я не так делаю помогите , пожалуйста


pioli   (2013-01-25 20:04:00) [21]

Чего-то не получается. Undeclared identifier: 'ActiveDesktop' в чем проблема?

program Project2;

{$APPTYPE CONSOLE}

uses
 SysUtils, ComObj, ShlObj;

begin
  ActiveDesktop: IActiveDesktop;
 hDesc:HRESULT;
    begin
hDesc:=CoCreateInstance(CLSID_ActiveDesktop,nil,CLSCTX_INPROC_SERVER,IID_IActive  Desktop,ActiveDesktop);
if not Failed(hDesc) then

begin
ActiveDesktop.SetWallpaper(D:\0.bmp, 0);
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;
end.


Rouse_   (2013-01-25 19:56:00) [22]

Новый проект -> консольное приложение


pioli   (2013-01-25 19:52:00) [23]

нужно именно через ActiveDesktop
и как консольное приложение написать? можно поподробней пожалуйста?


Rouse_   (2013-01-25 19:36:00) [24]

Консольное приложение напиши.


pioli   (2013-01-25 19:26:00) [25]


> Все, кнопку на форме размести, два раза по ней щелкни, в
> появившемся обработчике вбей свой код начиная с ActiveDesktop:
>  IActiveDesktop;

Можно ли как-нибудь без формы и кнопок и вооще чтобы никаких окон,уведомлений не вылазило обойтись, а рисунок через параметр передать при запуске?


Rouse_   (2013-01-25 19:13:00) [26]


> Что я не так делаю

Все, кнопку на форме размести, два раза по ней щелкни, в появившемся обработчике вбей свой код начиная с ActiveDesktop: IActiveDesktop;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо