Restart erkennen?

  • VB.NET
  • .NET (FX) 4.0

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Vainamo.

    Speichere dir den TickCount.
    Wenn bei Programmaufruf der TickCount kleiner ist als der gespeicherte Wert, wurde zwischendrin gebootet.
    (oder es wurde 7 Wochen nicht gebootet und der Tickcount hat sich zwangs-resettet).

    Edit: Ganz sauber wäre, die SystemStartTime statt dem TickCount zu verwenden.

    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()

    Du könntest im FormClosing-EventHandler beim passenden Schließgrund (e.CloseReason = CloseReason.WindowsShutDown) ein passendes Flag in den Settings speichern, welches zum Programmstart überprüft wird.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ich hätte das jetzt nicht zwangsläufig daraus gelesen.

    iCoreX schrieb:

    wenn jemand seinen PC Restartet & dann dass Programm startet

    Aber wenn du nicht generell einen Restart, sondern einen Programmabbruch durch Restart erkennen willst, ist ja alles gut.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hört sich langsam echt so an als würdest du einen Virus/Trojaner Programmieren...
    Erst Taskmanager killen und jetzt möchtest du quasi den Restart abfangen ich weiß nicht
    inwiefern das gut ausgehen kann.,
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    @iCoreX

    iCoreX schrieb:

    kann ich dann z.B mit if machen, dass das Programm

    Du kannst damit machen, was Du willst/kannst. Auch ne eMail schicken kannst Du dann. Leg Dir in den Settings (Projekteigenschaften -> Einstellungen) eine passende Variable an (z.B. SystemShutDownWhileProgramIsRunning vom Typ Boolean, Standardwert = False), im FormClosing-EventHandler

    VB.NET-Quellcode

    1. My.Settings.SystemShutDownWhileProgramIsRunning = e.CloseReason = CloseReason.WindowsShutDown

    und in der Form_Shown-Prozedur (oder an anderer passender Stelle) eben

    VB.NET-Quellcode

    1. If My.Settings.SystemShutDownWhileProgramIsRunning Then 'whatever you wish

    alternativ kann man statt der Behandlung des FormClosing-Events auch das Microsoft.Win32.SystemEvents.SessionEnding-Event abonnieren und verarbeiten
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @xChRoNiKx

    Ich frag mich wie ihr immer auf Trojaner kommt? Wie oft soll ich euch noch sagen das ich testen wollte taskmanager zu killen weil es mit chrome nicht gehen würde? Ohman..

    @VaporiZed danke..

    Sollte ich hier Anwendung oder Benutzer auswählen?
    Habe Benutzer ausgewählt und es klappt nicht xD


    Doppelpost nach einer Stunde? => Beiträge zusammengefügt. ~Trade

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()

    iCoreX schrieb:

    Ich frag mich wie ihr immer auf Trojaner kommt? Wie oft soll ich euch noch sagen das ich testen wollte taskmanager zu killen weil es mit chrome nicht gehen würde?
    Ist schon etwas merkwürdig, einen Task dauerhaft killen zu wollen und dann noch ausgerechnet den Taskmanager. Weiß auch nicht, wie man auf die Idee kommt, damit Tests anstellen zu wollen. Und wenn ich mir Deine anderen Threads so anschaue (Me.Hide() klappt nicht, Wie kann man einen Button so programmieren, dass man nur 10 Versuche für etwas hat?), muss ich sagen, das sieht schon sehr nach Malware aus. Kannst Du mir nicht erzählen.
    Ansonsten wäre es mal schön von Dir zu hören, was Du damit machen willst bzw. was Du im Moment bastelst. Wäre ich echt äußerst gespannt.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    iCoreX schrieb:

    Habe Benutzer ausgewählt und es klappt nicht
    Welchen Code hast Du denn verwendet? Welches Event wertest Du aus? Und was genau klappt nicht? Wird die Einstellung bei Restart nicht verändert? Oder ist es was anderes, was nicht so läuft, wie Du wolltest?

    @alle anderen: fehlt eigentlich als spezifische Malware nur noch der Begriff »ransom ware«. Diesen Satz bitte löschen, falls ich aus Sicht der Moderatoren damit schlafende Hunde wecke.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    iCoreX schrieb:

    Wahrscheinlich hat me.hide was mit malware zutun?
    Hat es was zu bedeuten, dass Du hier absichtlich die restlichen Punkte ignorierst und nur das frei vom Kontext ansprichst? Me.Hide an sich ist natürlich nichts schlimmes, da hast Du recht. Aber es geht um den gesamten Zusammenhang. Dazu kommen die restlichen Threads, wie schon erwähnt.
    Daher steht meine Frage weiterhin... Es wäre daher mal gut, wenn Du reinen Tisch machst und uns erklärst, was Du hier baust.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    iCoreX schrieb:

    Wahrscheinlich hat me.hide was mit malware zutun?

    Es gibt wenig Gründe, warum man eine Form direkt nach dem Start wieder verstecken wollen würde. Einer wäre eben z.B., dass man Code ausführen will, ohne dass jemand ein Fenster sieht. Das deutet dann doch schon auf kein gewöhnliches Programm hin, sondern macht einen eher stutzig.

    Warum verrätst du uns nicht einfach, was du machst? Wenn es keine Malware ist, was hast du dann zu verheimlichen?

    Grüße
    Vainamo