AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte AutoStart für Delphi-Programme über Systemregistrierung
Thema durchsuchen
Ansicht
Themen-Optionen

AutoStart für Delphi-Programme über Systemregistrierung

Ein Thema von TOC · begonnen am 15. Feb 2007 · letzter Beitrag vom 15. Feb 2007
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von TOC
TOC
Registriert seit: 5. Jan 2005
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 !
Angehängte Dateien
Dateityp: zip regautostart_f_r_delphi_3.0_993.zip (108,1 KB, 10x aufgerufen)
Dateityp: zip regautostart_f_r_delphi_7.0_572.zip (204,4 KB, 57x aufgerufen)
"Wäre die Erde eine Bank, ihr hättet sie längst gerettet!"
(Zitat GreenPeace)
 
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#2
  Alt 15. Feb 2007, 11:43
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.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#3
  Alt 15. Feb 2007, 12:00
Hi!

Zitat von Luckie:
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.
Weiss aber nun mal nit jeder was man wo in die Systemregistrierung schreiben muss für ne Autostart Funktion! Aber nun kann jeder, den es interessiert, im SourceCode nachlesen wie´s geht!

Grüsse von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#4
  Alt 15. Feb 2007, 12:06
Dann mach doch besser eine Klasse raus, die man dann direkt verwenden kann:
Delphi-Quellcode:
TAutoStart = class(TObject)
private
  //...;
  //...;
public
  procedure AutoStart(Programmname, Pfad, Parameter: String; AllUsers: Boolean = False);
  procedure DelAutoStrat(Programmname: String);
end;
(Nur mal so als Vorschlag, wie die Klasse aussehen könnte.)
Michael
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#5
  Alt 15. Feb 2007, 12:13
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 !

Grüsse von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#6
  Alt 15. Feb 2007, 12:24
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.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#7
  Alt 15. Feb 2007, 13:01
Hi!

Zitat von Luckie:
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.
Ja, gut, das hört sich nicht so schlecht an. Ich könnte ja auch ne nichtvisuelle Komponente draus machen, dann bräuchte der Programmautor ja nur die Eigenschafft "Enabled" (z.B.) auf true/false setzen?
Was meinst Du, würde sich der Aufwand lohnen?

Grüsse von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#8
  Alt 15. Feb 2007, 13:06
Eine Komponente würde ich nicht daraus machen. Eine eigene Unit mit Klasse reicht vollkommen.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#9
  Alt 15. Feb 2007, 13:20
Hi!

Zitat von Luckie:
Eine Komponente würde ich nicht daraus machen. Eine eigene Unit mit Klasse reicht vollkommen.
Naja, eine Klasse muss erst erzeugt und später wieder freigegeben werden und dafür braucht man dann noch ne Variable etc.. Ich glaube das mit der Klasse ist zu umständlich! Ok, man könnte eine eigen Unit für solche Spielereien schreiben, oder für Leute mit recht wenig Plan ne Komponente die man einfach ins Formular klickt und dann true/falls etc... Auf der anderen Seite sammle ich in der Unit "Global" halt Sachen die ich in fast all meinen Programmen brauche und verwende...

Grüsse von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
matashen

 
Delphi XE2 Enterprise
 
#10
  Alt 15. Feb 2007, 13:31
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

Matthias
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz