Seite 1 von 2

Console - Beenden unterbinden

Verfasst: 18.01.2007 17:07
von RSBasic
Hallo ihr lieben PB-User.
Ich mache eine kleine Console und wollte fragen, ob es möglich ist das Beenden von der Console zu unterbinden.
D.h. der User kann die Console nicht beenden, ist es möglich mit oder ohne WinAPI?

Verfasst: 18.01.2007 22:03
von RSBasic
Hm... :roll:
Hat keiner ne Lösung für mich? /:->

Verfasst: 18.01.2007 22:13
von TomS
http://purearea.net/pb/CodeArchiv/Input ... -CTRL-C.pb

Is nicht ganz das was du suchst, aber vielleicht schaffst du's es anzupassen.

PS: Nur nicht so ungeduldig. Könnte als nervig empfunden werden :wink:

Verfasst: 18.01.2007 22:33
von RSBasic
@TomS
Danke :)

Verfasst: 18.01.2007 23:05
von mknjc
Darauf aufbauend einfach mal in der Win32 Hilfe nach "HandlerRoutine" suchen.

Edit:

Da es mich auch interessiert hat bekommst du schön vorgekauten Code :mrgreen:
Aber Achtung. Das ding lässt sich nur durch den Taskmanager oder den Debugger beenden.

Ausserdem gibt es keine Kommentare oder so.

Code: Alles auswählen

Procedure.b Cons(dwCtrlType.l)
    If dwCtrlType = #CTRL_CLOSE_EVENT
        PrintN("HAHA")
        ProcedureReturn 1
    EndIf
    
EndProcedure
OpenConsole()
SetConsoleCtrlHandler_(@Cons(),#True)

Repeat 
    Delay(1) 
ForEver

End
Mfg mknjc

Verfasst: 18.01.2007 23:25
von Macros
wenn ich auf schließen klicke, zeigt es HAHA an, wie es wohl sollte,
doch nach ca 3-4 sec schließt es sich dann.

Verfasst: 19.01.2007 01:47
von TomS
Wenn ich auf schließen Drücken kommt der Dialog, wie wenn sie ein Programm aufgehängt hat. "Sofort Beenden oder Abbrechen"...

Aber das Programm läuft dann munter weiter. Nur die Konsole is wech...

Verfasst: 19.01.2007 08:01
von mknjc
Das scheint alles noch sehr instabil zu sein.

Aber nach mehreren Tests ist mir aufgefallen das manchmal kommt manchmal nicht.

Das einzige was man machen könnte ist alles was auf der Konsole steht in einem speicher zu haben und dann bei einem #CTRL_CLOSE_EVENT 0 zurückliefern und dann die Konsole neu öffnen und den Inhalt einfügen.

Mfg mknjc

Verfasst: 28.06.2007 15:07
von Alves
Ich hab mal ne Frage. Ich hab hier aufm Mac Windows virtuell und er sagt, die Konstante CTRL_CLOSE_EVENt findet er nicht.

Welchen Wert hat die, damit ich die selber zuordnen kann.

Verfasst: 28.06.2007 15:18
von edel