Forum: PC-Programmierung 2 Fragen zur Programmierung mit der Konsole


von Rene B. (themason) Benutzerseite


Lesenswert?

Hallo Leute,

ich hab mal zwei Fragen.
Erstens, gibt es eine Möglichkeit unter Visual C++ 6.0 den 
Standard-"Datei Öffnen" Dialog oder Verzeichnisauswahl-Dialog unter C 
(!!) ohne Benutzung der MFC aufzurufen ? Also ähnlich wie MessageBox nur 
eben als Datei-Auswahldialog ?
Meine zweite Frage ist : Habe ich die Möglichkeit zu verhindern bzw 
mitzubekommen das mein Konsolen-Programm ge-X't wird ? Also ähnlich wie 
man das unter Delphi kennt das man das OnClose Ereignis abfangen kann 
und evtl eine Frage (z.b. per MessageBox) zu stellen ob das Programm 
wirklich beendet werden soll ? Ich bin mir relativ sicher das das unter 
ner Konsole nicht geht, aber vllt gibts ja doch ne Möglichkeit dazu. 
Wäre schön wenn mir da jmd weiterhelfen könnte.

von Arc N. (arc)


Lesenswert?


von Rene B. (themason) Benutzerseite


Lesenswert?

Ja coool ....

Vielen dank. Hatte zwar irgendwie im Hinterkopf das es mit dem 
OpenFileDialog auch über "normale" API-Funktionen gehen muß, und wusste 
auch das man nen Handler für die Console setzen konnte, hab aber nicht 
damit gerechnet das damit auch das X-en abgefangen werden kann. Das 
hilft mir schon enorm weiter.
Danke schön :-)

von Rene B. (themason) Benutzerseite


Lesenswert?

So,

ich hab das mal mit dem ConsoleCtrlHandler ausprobiert und es klappt.
Das Programm wird nicht mehr beendet bzw ich kann noch nachfragen ob das 
Programm wirklich beendet werden soll.
Allerdings kommt nach 2s etwa die "Programm beenden"-Meldung von Windows 
(also ähnlich wenn sich ein Task aufgehängt hat).
Gibt es eine Möglichkeit das diese Meldung unterdrückt wird ?
Oder hab ich bei dem ConsoleCtrlHandler was falsch verstanden ?

von Peter II (Gast)


Lesenswert?

Was willst du überhaupt erreichen? Wenn jemand das X drück dann will er 
auch dein Programm schließen. Mit den handler hast du die möglichkeit 
das Programm ordentlich zu beendet.

Wenn du Programm scheiben willt die nicht beendet werden soll, dann 
schreibt man dafür einen Dienst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.