Verhindern, dass Programm beendet wird.



  • Hallo liebe C++ Community!

    Ich würde mein Programm gerne verhindern, dass es über Alt+F4 und das "X" am Fenster geschlossen werden kann.

    Habe schon etwas länger gegoogelt usw., doch leider noch keine Antwort gefunden.

    mfg. Mitma



  • Ich bin mir jetzt nicht mehr ganz sicher, aber wenn du bei CreateWindow, respektive CreateWindowEx ein Toolwindow (oder halt was ähnliches) machst, dann schliesst es IIRC nicht, wenn du Alt+F4 drückst.

    Ansonsten halt beim Message Handler die Schliessen Messages abfangen.

    btw:
    Das gehört ins WinAPI Forum.



  • Vielen Dank für den Tipp. 🙂

    Könntest du noch ein Code Beispiel geben?

    Wär echt super nett. ^^



  • Das ist ein Parameter, den du ändern musst.. 😕

    http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx

    Und da nimmst du mal WS_EX_TOOLWINDOW.



  • Ähm sorry. ^^ Aber ich hätte erwähnen sollen, dass ich ein Vollnoob bin. 😮

    Habe mir alles mal angeguckt, aber kann nur wenig bis garnichts damit anfangen. 😞



  • Ich denke, das Abfangen von WM_CLOSE ist die beste Lösung. @mitma123: Du hast doch bestimmt Code, wo du auf Nachrichten reagierst, oder nicht? Da reagierst du entsprechend (=>siehe MSDN) auf WM_CLOSE.



  • Danke für die Hilfe, aber so alleine komm ich echt nicht weiter. xD



  • mitma123 schrieb:

    Danke für die Hilfe, aber so alleine komm ich echt nicht weiter. xD

    Das macht auch nicht viel Sinn. Du solltest erst mal die Grundlagen der (C++)-Programmierung lernen und dich dann mal an ein WinAPI Tutorial wenden. Einfach mal so drauf los wird nix, was du bestimmt auch schon selbst bemerkt hast. 😉



  • Habe ja nicht vor C++ genau zu lernen, ich wollte nur ein bisschen damit herumspielen. 😃



  • mitma123 schrieb:

    Habe ja nicht vor C++ genau zu lernen, ich wollte nur ein bisschen damit herumspielen. 😃

    Das Blöde ist, dass Standard-C++ von sich aus recht wenige Features in die Richtung bietet. Ausserdem brauchst du relativ lange, um die Sprache wirklich zu verstehen. Also nichts mit herumexperimentieren. 😉

    Nur um etwas herumzuspielen gibts bestimmt geeignetere Sprachen, mit denen man auch schneller Ergebnisse erzielt (dafür hat man an anderen Orten weniger Möglichkeiten). Ich denke, in Richtung Java oder C# bist du diesbezüglich besser beraten. Allerdings brauchst du auch da einige Einarbeitungszeit.



  • Nexus schrieb:

    mitma123 schrieb:

    Habe ja nicht vor C++ genau zu lernen, ich wollte nur ein bisschen damit herumspielen. 😃

    Das Blöde ist, dass Standard-C++ von sich aus recht wenige Features in die Richtung bietet. Ausserdem brauchst du relativ lange, um die Sprache wirklich zu verstehen. Also nichts mit herumexperimentieren. 😉

    Nur um etwas herumzuspielen gibts bestimmt geeignetere Sprachen, mit denen man auch schneller Ergebnisse erzielt (dafür hat man an anderen Orten weniger Möglichkeiten). Ich denke, in Richtung Java oder C# bist du diesbezüglich besser beraten. Allerdings brauchst du auch da einige Einarbeitungszeit.

    Ein bisschen kann ichs ja schon, hab mich durch 1/2 Tuts durchgearbeitet. Nur mit sachen wie WinAPI habe ich mich überhaubt nicht beschäftigt. ^^

    Ich bräuchte ja nur diesen einen Befehl. 😢



  • Dann mach mal ein anständiges Tutorial zur WinAPI durch:
    http://zetcode.com/tutorials/winapi/

    Und dann schau dir nochmal meine Links an. Dann sollte das gehen.


Anmelden zum Antworten