Kinderschutz: Prozess-wird-beendet-handler?
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von Alex2000.
-
-
-
-
-
ich versuchs mal, einen Moment...
Nein.
Das ist, wenn versucht wird, das Programm zu schließen.
Ich will aber verhindern, dass das Programm (der Prozess!) nicht im Taskmanager beendet/abgeschossen wird.
Und dann soll vielleicht noch eine MsgBox angezeigt werden.
Danke
OlicrashDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „olicrash“ ()
-
Achso du möchtest verhindern das ein Prozess beendet wird.
Hmm...
Geht auf jeden Fall nur durch eingriff in die WinAPI.
Ich hätte nun folgende Idee:
mit SetWindowsHookEx einen CallWndProc Hook setzten.
Dafür brauchst das FensterHandle der Anwendung.
Wenn du dann die dort aufgefangenen Messages filterst kannst du den WM_Close Befehl abfangen und dann nicht an CallNextHook weiter geben.
Zur Sicherheit solltest du auch noch die WM_Destroy Message abfangen.
Wie genau das zusammen muss müsste ich selber noch schauen.
Referenzen (MSDN):
Using Hooks
SetWindowsHookEx
CallNextHookEx
WM_CLOSE
WM_DESTROY -
wäre nett, wenn mir jemand einen Code geben könnte, da ich das nicht wirklich verstehe, was da steht.
Der Code sollte nur beinhalten:
-Prozess kann nicht beendet werden
-Wenn das versucht wird, MsgBox("Der Prozess darf nicht beendet werden!")
Das wäre sehr nett.
Danke
Olicrash
PS: Ich habe noch den ganzen Tag oder bis morgen Zeit. -
-
-
So wie ich dir das erklärt habe, einfach mit dem FormClosing Event abfangen.
Du kannst auch prüfen wie es geschlossen werden soll:
Oder den Taskmanager abfangen:
So kann dein Prog nicht durch alt F4 oder Taskman beendet werden. Aber man kann auch einfach PC aus, dann wieder an und dann ises auch weg. -
-
-
-
-
-
IMessageFilter.PreFilterMessage ist was du suchst.
Hab mich grad mal dran versucht bin aber nicht weit gekommen.
Refs:
PreFilterMessage Method
Die const für die Messages:
Ich schau mir das ganze mal weiter an.
Sollte machbar sein.
Aber das ganze sollte dann mit nem Schalter sein (Boolean Variable) um z.b. nach eingabe eines Passwortes die Anwendung trozdem beeden zu können.
Sonst könnte es sein das sich der Rechner nicht runterfahren lässt. -
-
Bist du sicher, dass das so geht. Windows fährt ja trotzdem runter und löscht den Arbeitsspeicher. Übrigens kann man sowas leicht mit Process killen umgehen. Ich würde eher den Taskmanager aus der Registry streichen(hab mal gehört das soll gehen, Alt F4 blocken eine Verknüpfung in den Autostart legen. Dann hast du einen besseren Schutz.
-
Auch gerade gemerkt, dass der Code net funzt, sorry. Mach´s damit, damit kannst du alle Möglichkeiten zum schließen zunichte machen, bis auf den Taskmanager:
Du kannst es aber so machen, dass du den Taskmanager gar nicht durch die Tastencombi sich öffnen lässt (einfach Tasten abfragen, siehe Hotkeys) oder prüfst ob er aktiv ist und ihn dann abschießt. Frag mal die Leute mit den Desktoplocks usw wie die das gemacht haben (-> Showroom & Testcenter). Die haben ihn geblockt gekriegt. -
-
Ähnliche Themen
-
Bestimmten Prozess als letztes beenden
Michael K. - - Sonstige Problemstellungen -
Thormason - - Sonstige Problemstellungen
-
2 Benutzer haben hier geschrieben
- Gast (25)
- kevin89 (3)