Dieser handler ist nur für ctrl+c, um nicht über das X schließen zu können ist das EnableCloseButton(false). Bei mir hat das wunderbar funktioniert, ich konnte nur noch über den Debugger (oder halt task manager) beenden, nicht jedoch über den "normalen" weg.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
C# C# Konsolenanwendung -> Cancel Close Event
- Ersteller Ghost_Rider_R
- Erstellt am
Es gibt ein spezielles Event hierfür, benutze ich in einigen meiner Apps.
Kann heute Abend mal nachkucken wenn ichs nicht vergesse. "Abbrechen" kann man den Exit nicht, aber man kann ihn ins unendliche verzögern
Das wäre auf alle Fälle die Kernaussage.
mfg,
Max
Kann heute Abend mal nachkucken wenn ichs nicht vergesse. "Abbrechen" kann man den Exit nicht, aber man kann ihn ins unendliche verzögern

Das wäre auf alle Fälle die Kernaussage.
mfg,
Max
- Registriert
- Nov. 2009
- Beiträge
- 784
Also NativeMethods.EnableCloseButton(false); kennt er bei mir nicht.
Muss ich da irgendwas machen?
Das mit der Endlosschleife müsste man sich ggf. mal angucken wie das gelöst ist
Muss ich da irgendwas machen?
Das mit der Endlosschleife müsste man sich ggf. mal angucken wie das gelöst ist

- Registriert
- Nov. 2009
- Beiträge
- 784
also hier ist mal eine Lösung:
#region Console X Deaktivieren
private const int MF_BYCOMMAND = 0x00000000;
public const int SC_CLOSE = 0xF060;
[DllImport("user32.dll")]
public static extern int DeleteMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("kernel32.dll", ExactSpelling = true)]
private static extern IntPtr GetConsoleWindow();
#endregion
und das dann in der Main() aufrufen:
DeleteMenu(GetSystemMenu(GetConsoleWindow(), false), SC_CLOSE, MF_BYCOMMAND);
#region Console X Deaktivieren
private const int MF_BYCOMMAND = 0x00000000;
public const int SC_CLOSE = 0xF060;
[DllImport("user32.dll")]
public static extern int DeleteMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("kernel32.dll", ExactSpelling = true)]
private static extern IntPtr GetConsoleWindow();
#endregion
und das dann in der Main() aufrufen:
DeleteMenu(GetSystemMenu(GetConsoleWindow(), false), SC_CLOSE, MF_BYCOMMAND);
Ähnliche Themen
- Antworten
- 15
- Aufrufe
- 3.962