Viendo que Doddy sigue aportando codigo sobre la api de windows traduje esta funcion que publico http://indetectables.net/viewtopic.php?f=100&t=53787
uses
  SysUtils,
  windows;

function cambiarFondo(const imagen:string):boolean;
begin
   Result:=SystemParametersInfo(20,0,@imagen[1],0);
end;

var
 foto:string;
begin
 writeln(cambiarFondo('image.bmp'));
 writeln('Imagen cambiada');
 readln;
end.
Skype:crack8111
Anotado pink saludos
Por ultimo a los que no tenga muchos conocimientos sobre esta funcion siempre es recomendable ver su documentacion para que estamos tocando asi que revisar esto: [Enlace externo eliminado para invitados]
Skype:crack8111
En efecto pink me puse a revisar en internet y mire saque esta implementacion de una pagina rusa
uses
  SysUtils,
  ComObj,ShlObj,ActiveX,windows;


function ChangeWallpaper(const Image: String): Boolean;
const
  CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
  ADesktop: IActiveDesktop;
  wstr: array [0..MAX_PATH]of widechar;
begin
  CoInitialize(nil);
  ADesktop     := CreateComObject(CLSID_ActiveDesktop)as IActiveDesktop;
  try
    StringToWideChar(aFile, wstr, MAX_PATH);
    ADesktop.SetWallpaper(wstr, 0);
    ADesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
  finally
    CoUninitialize;
  end;
  Result:=True;
end;

var
 foto:string;
begin
   ChangeWallpaper('C:\image.bmp');
   Writeln('Imagen cambiada');
   Readln;
end.
saludos...
Skype:crack8111
Porque no usaran cadenas unicode de una ves. (widestring).

En lazarus tengo que declarar la interfaz ya que no la trae por defecto :S.

Saludos
Imagen
No se si a esto te refieras
function ChangeWallpaper(const Image: widestring): Boolean;
const
  CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
  ADesktop: IActiveDesktop;
begin
  CoInitialize(nil);
  ADesktop     := CreateComObject(CLSID_ActiveDesktop)as IActiveDesktop;
  try
    ADesktop.SetWallpaper(pwidechar(Image), 0);
    ADesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
  finally
    CoUninitialize;
  end;
  Result:=True;
end;
Por parte de lazarus es cierto lo que dices
Saludos..
Skype:crack8111
Responder

Volver a “Fuentes”