Control-C Exception abfangen



  • Ich komme irgendwie so gar nicht weiter. Ich will die CTRL+C-Exception abfangen (Visual C++), aber irgendwie klappt es nicht so wie es soll. Mein Handler wird zwar aufgerufen wenn die Konsole geschlossen wird (X-Zeichen), aber beim Drücken der Tasten CTRL+C oder CTRL+BREAK wird mir immer wieder eine unbehandelte Exception angezeigt.

    #include "main.h"
    
    using namespace std;
    
    BOOL WINAPI myHandler(DWORD dwCtrlType) { //wird nicht bei CTRL+C aufgerufen
    	cout << "myhandler wohoo" << endl;
    	Sleep(500);
    	return true;
    }
    
    int main(int argc, char *argv[]) {
    	if (!SetConsoleCtrlHandler(myHandler, true)) {
    		cout << "Error: " << std::hex << GetLastError() << endl;
    	}
    	for (;;) {
    		cout << "Hier kommst du nicht raus!" << endl;
    		cin.get();
    	}
    	cin.get();
    
    }
    

    main.h

    #pragma once
    #define NOMINMAX
    
    #include <iostream>
    #include <limits>
    #include <Windows.h>
    

Anmelden zum Antworten