![]() |
AutoStart für Delphi-Programme über Systemregistrierung
Liste der Anhänge anzeigen (Anzahl: 2)
Hi!
Ihr kennt sicher den Ordner "Start/Programme/Autostart" in den man seine selbstgeschriebenen Delphi-Programme ablegen kann um diese beim Start von Windows automatisch zu starten. Nungut, das funktioniert zwar, hat aber auch so seine Nachteile. Es gibt nun aber auch die Möglichkeit ein AutoStart-Programm in die Systemregistrierung zu schreiben wie das professionelle Programme machen. Dies hat erhebliche Vorteile, da man seinem Programm so zum Beispiel auch beliebige Parameter beim Programmstart übergeben kann. Im Anhang findest Du zwei kleine Delphi-Beispiel-Programme, eines für Delphi 3.0 und eines für Delphi 7.0. Über die CheckBox kannst Du ein/ausschalten ob das Beispiel-Programm beim Windows-Start, oder beim Anmelden eines neuen Benutzers, automatisch gestartet werden soll. In der Unit "Global" findest Du die entsprechenden Funktionen: // Erzeugt den Namen und den Pfad der Anwendung aus ParamStr(0) Procedure GetProgramNameAndPath(Var ProgramName,ProgramPath:String); // Systemregistrierungseintrag schreiben/löschen und somit AutoStart ein/ausschalten Procedure SetAutoStart(Form:TForm; Flag:Boolean; Param:String); // In der Systemregistrierung nachschauen ob AutoStart für diese Anwendung eingeschaltet ist Function GetAutoStart(Form:TForm):Boolean; Wenn Du nun aus Deinem Delphi-Programm ein AutoStart-Programm machen willst dann binde einfach die Unit "Global" in Dein Programm ein. Grüsse von TOC :cyclops: ! |
Re: AutoStart für Delphi-Programme über Systemregistrierung
Eigentlich überflüssig, da man nur wissen muss, wie man in die Registry schreibt. Und auch einer verknüpfung im Autostart Ordner kann man Parameter mitgeben.
|
Re: AutoStart für Delphi-Programme über Systemregistrierung
Hi!
Zitat:
Grüsse von TOC! |
Re: AutoStart für Delphi-Programme über Systemregistrierung
Dann mach doch besser eine Klasse raus, die man dann direkt verwenden kann:
Delphi-Quellcode:
(Nur mal so als Vorschlag, wie die Klasse aussehen könnte.)
TAutoStart = class(TObject)
private //...; //...; public procedure AutoStart(Programmname, Pfad, Parameter: String; AllUsers: Boolean = False); procedure DelAutoStrat(Programmname: String); end; |
Re: AutoStart für Delphi-Programme über Systemregistrierung
Hi!
Ach, ne eigene Klasse für die 3 kleinen Funktionen? Wat sollte dat bringen? Natürlich kann man aus fast allem Unfug ne Klasse machen oder sogar ne Komponente dafür schreiben, aber sehr sinnvoll finde ich dies nicht :roll: ! Grüsse von TOC! |
Re: AutoStart für Delphi-Programme über Systemregistrierung
Der Sinn ist der, dass du dann keine zwei, drei losen Funktionen in einer Unit rumfliegen hast. Du kannst sie dann ja noch erweitern mit Erstellen von Verknüpfungen im Autostartordner und im RunOnce-Schlüssel der Registry. Also da kann man schon was schönes raus machen.
|
Re: AutoStart für Delphi-Programme über Systemregistrierung
Hi!
Zitat:
Was meinst Du, würde sich der Aufwand lohnen? Grüsse von TOC! |
Re: AutoStart für Delphi-Programme über Systemregistrierung
Eine Komponente würde ich nicht daraus machen. Eine eigene Unit mit Klasse reicht vollkommen.
|
Re: AutoStart für Delphi-Programme über Systemregistrierung
Hi!
Zitat:
Grüsse von TOC! |
Re: AutoStart für Delphi-Programme über Systemregistrierung
Nachdem jeder so seine eigenen Vorzüge in sachen Klassen Units etc hat, hier mein Vorschlag,
mach einfach alle Varianten, schon passt's für jeden :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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