Hinweis vor Herunterfahren des Computers

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Hallo allerseits,


    Normalerweise bin ich so gar nicht mit C# und Co. vertraut (in der Schule hatte ich nur Java und etwas Prolog), da ich das aber als die eleganteste Methode sehe, um das Problem, das ich habe, zu lösen, habe ich mich ein wenig in die Sprache hineingefuchst.


    Erstmal vorab ein paar wichtige Eckdaten: Es geht um Windows 7 Ultimate SP1, 64 Bit. Das Programm, das ich zum Coden nutze, ist Visual Studio Community 2017, Version 15.9.4. Als Zielframework ist .NET Framework 4.0 angegeben.


    Man kennt es sicherlich: Man drückt auf den "Herunterfahren"-Button und genau in dem Moment fällt einem ein, was man vorher noch erledigen wollte. Was folgt, ist das nervige Warten darauf, dass der Computer herunterfährt und wieder hochfährt, sowie die erneute Anmeldung im Benutzerkonto. Da auch mein Vater öfters dieses Problem hat, möchte ich ihm einen Prozess schreiben, welcher immer dann, wenn er im Startmenü auf "Herunterfahren" klickt, einen Hinweis einblendet, dass er doch bitte nochmal nachdenken soll, ob er nicht etwas vergessen hat. Klickt er in diesem Dialog auf "Ja", soll das Herunterfahren abgebrochen werden (dass dies seit Vista nicht mehr möglich ist, ist mir bewusst - deshalb wollte ich stattdessen ein (minimiertes) Editor-Fenster o.Ä. öffnen lassen, das erst geschlossen werden muss, bevor der Computer herunterfährt). Wählt er hingegen "Nein" aus, soll der PC mit dem Herunterfahren fortfahren.

    Der ganze Prozess soll versteckt im Hintergrund laufen und mit dem Start von Windows ebenfalls gestartet werden.

    Mithilfe von Google habe ich mir diverse Codeschnipsel zusammengesucht, musste da aber selbst noch Hand anlegen, da keine einzige using-Anweisung vorhanden war. Ich bin jetzt fast fertig - stehe aber noch vor einem letzten Problem.

    Mir ist klar, dass das Programm irgendwo einen Einstiegspunkt, eine Main-Methode, benötigt - ist ja in Java nicht anders. Aber egal, wo ich diese einsetze, entstehen dadurch wieder neue Fehler. Insofern habe ich keine Ahnung, wo die Main-Methode am besten platziert werden sollte.


    Hier ist der Code, den ich soweit habe:

    Der einzige Fehler, der mir beim Startversuch angezeigt wird, ist CS5001 - "Das Programm enthält keine als Einstiegspunkt geeignete statische Main-Methode."

    Der Rest des Programms wird mir als fehlerfrei angezeigt.


    Wo setze ich die geforderte Main-Methode am besten ein, sodass der Rest des Codes möglichst unverändert stehenbleiben kann?


    Vielen Dank schon mal im Voraus für jegliche Antworten.


    Viele Grüße,

    Germignon

  • sooo....ich hab erstmal ne viertel stunde gebraucht, um zu verstehen, was dein code sein soll (console app? winforms? console app? wpf? ach, console app!), aber du müsstest eigentlich nur HookSessionEnding zu deiner Main function machen, ich hab das mal gemacht (hier), die exe hab ich noch nicht getestet, da ich grad noch nen bisschen viel offen hab, aber ich hoffe, dass es trotz signifikanter müdigkeit und unkonzentriertheit funktioniert