Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Autostart mit Delphi (https://www.delphipraxis.net/25191-autostart-mit-delphi.html)

Mitchhaack 2. Jul 2004 14:55


Autostart mit Delphi
 
Hallo,

ich möchte, dass mein programm automatisch startet.

wie kann ich das anstellen, bin delphi-newbie und nutze delphi 6.

als bs hab ich winxp

bitte helft mir.

Danke
Mfg Mitch

sakura 2. Jul 2004 14:57

Re: Autostart mit Delphi
 
Auch ein "Delphi-Newbee" :mrgreen: kann hier suchen
Hier im Forum suchenAutostart (Dazu gibt es über 100 Ergebnisse, eines sollte helfen.

...:cat:...

Mitchhaack 2. Jul 2004 15:28

Re: Autostart mit Delphi
 
Hi,
ich hab mir alles (fast alles :-) ) angeschaut.


Und auch einiges ausprobiert, aber der compiler meckert immer an TRegistry rum.

könnt ihr mir nicht einen code geben der funscht.
ich brauche das ganz dringend für ein schulprojekt

danke

Thorben86 2. Jul 2004 15:29

Re: Autostart mit Delphi
 
Du musst noch die Unit Registry obn einfügen.

Meflin 2. Jul 2004 15:30

Re: Autostart mit Delphi
 
hast du registry in die uses klausel eingefügt?

sakura 2. Jul 2004 15:30

Re: Autostart mit Delphi
 
Zitat:

Zitat von Mitchhaack
aber der compiler meckert immer an TRegistry rum.

TRegistry ist eine Klasse welche in der Unit Registry deklariert ist.

Suche mal in Deiner Unit nach dem Stichwort uses (fast ganz oben) und füge in die dortige Liste Registry ein ;) Dann gehen auch die Codes.

...:cat:...

P.S.: Setze den Cursor auf TRegistry und drücke F1 - die OH weiß das auch :zwinker:

Filou 2. Jul 2004 16:01

Re: Autostart mit Delphi
 
Hallo, Mitchaak
hier findest du noch mal den Delphi-Code:
Delphi-Quellcode:
uses registry;
//...
procedure Autostart;
var
  reg : TRegistry;
begin
  reg := tregistry.create;
  with reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
    WriteString('Programm-Name', paramstr(0));
    CloseKey;
    free;                
  end;
end;
cu

MathiasSimmack 2. Jul 2004 16:55

Re: Autostart mit Delphi
 
Besser:
Delphi-Quellcode:
procedure Autostart(const fForAllUsers: boolean = true);
const
  RootKey : array[boolean]of HKEY =
    (HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE);
var
  reg    : TRegistry;
begin
  reg    := TRegistry.Create;
  if(reg <> nil) then
  try
    reg.RootKey := RootKey[IsAdmin and fForAllUsers];

    if(reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',
      true)) then
    try
      reg.WriteString('Programm-Name', paramstr(0));
    finally
      reg.CloseKey;
    end;
  finally
    free;                
  end;
end;
benötigt lediglich: [dp]"IsAdmin"[/dp] von Nico.

Matze 2. Jul 2004 16:57

Re: Autostart mit Delphi
 
Das nächste Mal kannst du auch in der CL danach suchen: AutostartAutostart

Irgendwie liebe ich die CL. :lol:

Basilikum 2. Jul 2004 17:28

Re: Autostart mit Delphi
 
Zitat:

Zitat von MathiasSimmack
Delphi-Quellcode:
[...]
  reg    := TRegistry.Create;
  if(reg <> nil) then
[..]

diese Abfrage ist wohl überflüssig, da sie nie false ergeben kann... denn wenn der Constructor von TRegistry fehlschlägt, dann mit Exception.... und dann interessiert diese Abfrage nicht mehr...

S2B 2. Jul 2004 17:58

Re: Autostart mit Delphi
 
Zitat:

Zitat von Matze
Irgendwie liebe ich die CL. :lol:

Warum bloß? :mrgreen:

MathiasSimmack 2. Jul 2004 18:18

Re: Autostart mit Delphi
 
Zitat:

Zitat von Matze
Das nächste Mal kannst du auch in der CL danach suchen: AutostartAutostart

Was? Ich? Dann ergänz doch bitte einfach mal den Code, damit er richtig funktioniert. Und wenn´s wenigstens die if-Abfrage bei der Funktion "OpenKey" ist. Und "Destroy" ist wohl sicher auch nicht das richtige. "Free" oder "FreeAndNil" ist wohl angebrachter, falls Basilikum keine Einwände hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz