Entwickler-Ecke
Dateizugriff - Autostart
fusco123 - Mi 19.03.08 18:51
Titel: Autostart
Hey,
wie kann ich das Programm, dass Delphi grade benutzt in Autostart eintragen, habe zwar schon dAs hier gelesen:
http://www.delphi-treff.de/tipps/applikation/tipp/156/
finde es allerdings viel zu lang mit den ganzen abfragen, kann man nicht das einfach bei allen eintragen, bei manchen gehts dann halt nicht ...
fusco
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 19.03.2008 um 22:46
nagel - Mi 19.03.08 23:30
Wenn du schon was gefunden hast, das dir sogar fertigen Quellcode mitliefert, warum willst du's dann nicht benutzen?
Yogu - Mi 19.03.08 23:45
Die Funktion wurde doch schon für dich programmiert. Und das hier musst du noch selber schreiben (steht übrigens auch schon drin):
Delphi-Quelltext
1:
| CreateAutorunEntry(Application.Title, ParamStr(0), akUserRunOnce); |
Wenn dir das noch zu lang ist, dann weiß ich auch nicht mehr weiter. Arg viel kürzer geht es nicht mehr.
fusco123 - Fr 21.03.08 21:20
die funktion von der webseite geht bei mir net, weil Tautorunkind unbekannt ist genaus wie akind und so...
obwohl ich sie bei Type deklariert habe
blaskito - Fr 21.03.08 22:23
Hallo,
ich würde es so machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); var Reg:TRegistry; begin Reg:=TRegistry.Create; Reg.Rootkey:=HKEY_CURRENT_USER; Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',True); Reg.WriteString(ProgName,ProgDatei); Reg.CloseKey; Reg.Free; end; |
"Registry" musst du natürlich in die uses-Klausel mit aufnehmen. Das Beispiel kannst du natürlich variieren, in dem du z.B. HKEY_LOCAL_MACHINE verwendest (wenn du die Rechte hast). Für ProgName verwendest du einen beliebigen Titel und bei ProgDatei z.B. Application.Exename.
Gruß aus dem Norden
blaskito
Delete - Fr 21.03.08 22:27
fusco123 hat folgendes geschrieben: |
die funktion von der webseite geht bei mir net, weil Tautorunkind unbekannt ist genaus wie akind und so...
obwohl ich sie bei Type deklariert habe |
Eventuell hilft es den ganzen Text zu lesen. Dann würde man auch auf diese Deklaration stossen:
Delphi-Quelltext
1:
| type TAutorunKind = (akUserRun, akUserRunOnce, akRun, akRunOnce, akRunServices, akRunServicesOnce); |
@blaskito: Das ist aber sehr optimistisch programmiert, keinerlei Ressourcenchutzblock und keinerlei Fehlerbehandlung.
blaskito - Fr 21.03.08 23:03
@luckie
... ist schon richtig aber ich habe mal gehört, Optimisten leben besser. Dennoch: du hast natürlich vollkommen recht.
Gruß aus dem Norden
blaskito
Yogu - Sa 22.03.08 12:10
fusco123 hat folgendes geschrieben: |
die funktion von der webseite geht bei mir net, weil Tautorunkind unbekannt ist genaus wie akind und so...
obwohl ich sie bei Type deklariert habe |
Luckie hat folgendes geschrieben: |
Eventuell hilft es den ganzen Text zu lesen. Dann würde man auch auf diese Deklaration stossen:
Delphi-Quelltext 1:
| type TAutorunKind = (akUserRun, akUserRunOnce, akRun, akRunOnce, akRunServices, akRunServicesOnce); | |
fusco123: Kannst du vielleicht den ganzen Quelltext posten? Vielleicht finden wir dann den Fehler...
der organist - Mi 08.04.09 14:58
ich hab damit das Problem, dass
CreateAutorunEntry undecleared ist, selbes für das
akUserRun. Weils bisher noch recht kurz ist, stelle ich mal den ganzen Unitquelltext rein:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| unit UMain;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry;
type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Edit1: TEdit; Button5: TButton; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin CreateAutorunEntry(Application.Title, ParamStr(0), akUserRun); end;
end. |
Xentar - Mi 08.04.09 15:16
Die Sachen, die bei dir als "undefiniert" markiert werden, stehen in dem Tipp ca. 10 Zeilen dadrüber...
Das Thema ist übrigens auch schon was älter.
der organist - Mi 08.04.09 15:25
ich weiss, das das Thema schon älter ist, aber die Probleme ich ich beim Programmieren habe, passen (A) gut hier rein und (B) sind sie durch dieses Thema erst entstanden.....
und was ist mit dem Aufruf? Das CreateAutorunEntry ist auch nicht definiert.
Xentar - Mi 08.04.09 15:33
Lies den Tipp nochmal.
der organist - Mi 08.04.09 15:36
funzt alles.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!