AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Feststellen, ob ein Programm als Autostart gestartet ist
Thema durchsuchen
Ansicht
Themen-Optionen

Feststellen, ob ein Programm als Autostart gestartet ist

Ein Thema von rainerg · begonnen am 29. Mai 2011 · letzter Beitrag vom 29. Mai 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von rainerg
rainerg

Registriert seit: 5. Aug 2002
Ort: Hannover
82 Beiträge
 
Delphi XE Starter
 
#1

Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 08:17
Hallo erstmal!

Wie kann ich im Programm feststellen, ob es gerade als Autostartprogramm beim Systemstart gestartet wurde.

Ich möchte dadurch ein gesondertes Verhalten erreichen, wenn das Proggi im Autostartmodus gestartet wird.
Rainer G. aus H.
www.BunteReisebilder.de
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 08:23
Eine interessante Frage.
Vlt. könnte man mal schauen, ob irgendwelche spezielle Parameter übergeben werden.
Ich werd mal nachschauen, was so anders ist.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:04
Was für Parameter sollen denn da übergeben werden? Jedenfalls ist mir da nichts bekannt. Jedes Programm, welches mit Kommandozeilenparametern arbeitet, müsste diese ja noch bei einem eventuellen Autostart mitberücksichtigen und das habe ich noch nie in solchen Programmen gemacht.

Mein Blick in die Glaskugel verrät mir, dass dein Programm irgendwelche Dateien nicht findet, weil mit relativen Pfaden gearbeitet wurde. Dieses Problem taucht nämlich öfters auf bei Programmen, die aus dem Autostart gestartet wurden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#4

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:05
PS: Dazu gibt es allein letzes Jahr schon mindestens 2 Threads, wo das bis ins Kleineste durchgekaut wurde.

Nein, wirklich sicher prüfen kannst du es garnicht.

Übergib deinem Programm beim Autostart einfach einen Parameter,
damit das Programm weiß, daß es vermutlich von dort gestartet wurde.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:12
Übergib deinem Programm beim Autostart einfach einen Parameter,
damit das Programm weiß, daß es vermutlich von dort gestartet wurde.
Das ist aber sehr unsicher. Was wenn der Benutzer es nicht weiß, wenn er es in den Autostart einträgt? Oder guckst du bei so was erst mal in die Hilfe oder die Dokumentation des Programms bevor du so was machst? Also ich mache das nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#6

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:16
Editiert wirklich jemand die Registrieeinträge manuell? (wenn ja, dann hat er/sie halt Pech)

Dafür stellt man doch im Programm eine Option bereit und das Programm trägt sich selber ein.
Und da weiß das Programm (der Programmierer) ja, was zu machen ist ... sollte es/er zumindestens.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:17
Also ich habe schon öfters mal ein Programm in die Autostart-Verknüpfung des Startmenüs verschoben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#8

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:26
Ist ja auch vollkommen OK, aber wenn ein Programm ein spezielles "Verhalten" benötigt, dann muß es selber dafür sorgen, daß dieses Verhalten auch eintritt.

Ja, man könnte auch schauen, von welchem Prozess aus das Programm gestartet wurde ... ging ja irgendwie (war mal irgendwo in ein paar der ProcessSnapshot-Threads versteckt/nebenbei erwähnt worden, also da wo man eine Liste der laufenden Prozesse erstellt).

Über den Parameter isses aber sicherer.
PS: Bei mir läuft ein Programm, welche einige Autostarts leicht verzögert ausführt, damit der PC schneller startet ... da würde das mit dem "wer hat mich gestartet"-Nachsehn nicht funktionieren.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:32
Der Elternprozess dürfte der Explorer sein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#10

AW: Feststellen, ob ein Programm als Autostart gestartet ist

  Alt 29. Mai 2011, 10:43
Das ist er auch, wenn das Programm per Explorer/Desktop/Verknüpfung/Startmenü gestartet wurde.

Einzige mir bekannte Möglichkeit: An allen bekannten Autostart-orten nachschauen, ob das Programm dort eingetragen ist. Dann weiß dein Programm, dass es im Autostart steht.

Einzig die Information, dass dein Programm vom User in den Autostart gesetzt wurde, sollte dir absolut nichts bringen. Wenn ich ein Programm nach der Anmeldung gerne gestartet sehe, dann setze ich das schon mal selbst in den Autostart und dann hat das da auch zu bleiben. Und wenn du Probleme mit Pfaden hast, dann kannst du einen billigen Workaround verwenden: ChDir(ExtractFilePath(Applicaltion.ExeName)); .

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:17 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