Guten Morgen zusammen,
Wenn ich in meinem Programm einen Haken "Autostart" setzte, soll es natürlich nach dem nächsten Systemstart im Tray bleiben und nicht angezeigt werden.
Frage ich ab ob der Registryeintrag existiert, dann kann es sein das ich das Programm trotzdem per Hand gestartet habe und es wird nicht angezeigt.
Wie bekomme ich also nun mit, das mein Programm per Autostart und nicht vom Benutzer gestartet wurde?
if (cbAutostart.Checked && System.Environment.UserName == "System")
this.WindowState = FormWindowState.Minimized;
Bring rein garnichts, da wie ich gelernt habe nur Dienste von System gestartet werden können...
Gruß,
TriB
du könntest den autostart mit einem parameter versehen.
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
du könntest den autostart mit einem parameter versehen.
Und wie/wann setzte ich diesen Parameter? Das kann sinnvoller Weise ja nur beim Beenden des Programmes geschehen.
Also prüfe ich ob das Programm vom Benutzer oder von Windows beendet wurde (Das geht so weit ich weiß über den Sender beim Closing),
dann hätte ich aber das selbe Problem, wenn das Programm per Hand beendet aber nicht wieder gestartet wird...
IMHO gibt es nur eine eindeutige Lösung wenn ich weiß "wer" mein Programm gestartet hat.
Hmmpf, logisch. Ich hatte das jetzt ganz verkehrt verstanden.
Mit Parametern meintest du natürlich
static void Main(string[] args)
Nun geht es wohl. Konnte den PC noch nicht neustarten, aber eine Verknüpfung hilft Wunder 😃
ja du hast mich zuerst flasch verstanden. aber genau dadrauf wollte ich hinaus.
Wir Arbeiten eigendlich nicht wir nehmen nur das geld