![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Change wallpaper! Help
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;