Avatar billede kingguro Nybegynder
24. februar 2001 - 13:52 Der er 3 kommentarer og
1 løsning

Opdatering i RegEdit?

Hvordan får jeg mit program til at opdatere de oplysninger jeg har skrevet i Registreringsdatabasen med det samme ????? Nu skal jeg først genstarte før windows indlæser de nye oplysninger.....??
Avatar billede delphidaner Nybegynder
24. februar 2001 - 13:59 #1
Det kommer an på hvilke oplysninger det er. Hvis du vil lave Windows-indstillinger om, så bør du bruge WinAPI\'en i stedet, fordi så bliver det opdateret straks.
Avatar billede kingguro Nybegynder
24. februar 2001 - 15:23 #2
Det er mit Wallpaper, der skal opdateres. Og hvordan bruger man WinAPI\'en...
Avatar billede delphidaner Nybegynder
26. februar 2001 - 07:36 #3
Jeg ved ikke p.t. hvordan man gør, men jeg prøver lige at undersøge det...
Avatar billede borrisholt Novice
26. februar 2001 - 07:51 #4
Du skal bruge funktionen

SystemParametersInfo();  til dit formål. Skal du fortælle windows at dit billede på din desktop har ænderet sig skal du skrive :

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE );

Her er i øverigt et komplet eksempel på hvordan man gør :

const
  WPS_Tile      = 0;
  WPS_Center    = 1;
  WPS_SizeToFit = 2;
  WPS_XY        = 3;

procedure SetWallPaperExt(sWallpaperBMPPath : String; nStyle, nX, nY: Integer );
var
  Reg    : TRegIniFile;
  s      : String;
  X, Y  : Integer;

begin
  Reg := TRegIniFile.Create(\'Control Panel\\Desktop\');
  s := \'0\';
  X := 0;
  Y := 0;

  case nStyle of
      WPS_Tile  : s := \'1\';
      WPS_Center : nStyle := WPS_Tile;
      WPS_XY    :
        begin
          nStyle := WPS_Tile;
          X := nX;
          Y := nY;
        end;
  end;

  Reg.WriteString( \'\', \'Wallpaper\',  sWallpaperBMPPath );
  Reg.WriteString( \'\', \'TileWallpaper\',  s );
  Reg.WriteString( \'\', \'WallpaperStyle\', IntToStr( nStyle ) );
  Reg.WriteString( \'\', \'WallpaperOriginX\',IntToStr( X ) );
  Reg.WriteString( \'\', \'WallpaperOriginY\', IntToStr( Y ) );
  Reg.Free;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Nil, SPIF_SENDWININICHANGE );
end;


Og så skal sikdet bare kaldes :

    SetWallpaperExt( \'~Tmp.BMP\' , WPS_XY, Left, Top);
eller 
    SetWallpaperExt( \'~Tmp.BMP\' , WPS_Center, 0, 0 );


Jens B
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester