Avatar billede forfatterksl Nybegynder
15. februar 2005 - 14:17 Der er 5 kommentarer og
1 løsning

Åben program, når computeren starter

Jeg er ved at lave et post-it-program, der skal åbne, når computer starter... men hvordan gør jeg egentlig det?
Avatar billede hmann Nybegynder
15. februar 2005 - 14:30 #1
du kan lægge en key i registreringsdatabasen..
i HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Current Version\Run\

kan du finde ud af at oprette sådan en fra delphi?

eller er det helt sort snak? det er ikke så svært (ikke så mange liniers kode)
Avatar billede hmann Nybegynder
15. februar 2005 - 14:31 #2
her skal den ligge (mindre fejl i ovenstående)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\
Avatar billede hmann Nybegynder
15. februar 2005 - 14:41 #3
--------------------------------
uses
registry;

procedure MinProcedure;
var Reg: TRegistry;
    Key: String;
begin
  Reg := TRegistry.Create;
  Key := 'Software\Microsoft\Windows\CurrentVersion\Run';

  Reg.RootKey := HKEY_CURRENT_USER;
  if Reg.KeyExists(Key) then
  begin
    Reg.OpenKey(Key,False);
    Reg.WriteString('MitProgram','"C:\Temp\MitProgram.Exe"');
  end;

end;
-------------------------

MitProgram og stien til MitProgram skal selvfølgelig erstattes af dit program :-)
Avatar billede forfatterksl Nybegynder
15. februar 2005 - 15:12 #4
Øh... jeg er ikke helt stærk i det der keyregistrering-halløj, så det kunne godt være, at jeg måtte spørge om en forklaring
Avatar billede hmann Nybegynder
15. februar 2005 - 15:20 #5
altså under din "uses" tilføjer du 'registry'... nu kan du bruge TRegistry komponenten..

herefter laver du en variabel (Reg) af typen TRegistry..

Reg := TRegistry.Create;  //creater en instans (reg) som vi kan arbejde med
  Key := 'Software\Microsoft\Windows\CurrentVersion\Run';

  Reg.RootKey := HKEY_CURRENT_USER;  //sætter rootkeyen til HKEY_CURRENT_USER så dine ændringer kun har indflydelse på den nuværende bruger.. man kan bruge HKEY_CURRENT_MACHINE hvis det skal gælde for alle brugerne

  if Reg.KeyExists(Key) then  //hvis key'en Software\Microsoft\Windows\CurrentVersion\Run findes så open den key

  begin
    Reg.OpenKey(Key,False);  //åbner keyen, skal ikke create den hvis den ikke findes i forvejen

    Reg.WriteString('MitProgram','"C:\Temp\MitProgram.Exe"'); //skriver en streng ned i registreringsdatabasen unden den åbne/aktive key
  end;


når værdien ligger den loades dit program når windows starter.. dette har ikke noget med delphi at gøre, men sådan fungerer windows... alt det som ligger under Software\Microsoft\Windows\CurrentVersion\Run startes op sammen med windows.
Avatar billede mtj111 Novice
17. februar 2005 - 14:12 #6
Hej

Du kan også bare ligge en genvej i Start -> Programmer -> Start

Hilsen Michael
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