Console - Beenden unterbinden

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Console - Beenden unterbinden

Beitrag 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?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Hm... :roll:
Hat keiner ne Lösung für mich? /:->
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag 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:
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@TomS
Danke :)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
mknjc
Beiträge: 217
Registriert: 09.09.2006 12:59

Beitrag 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
Ich nutze PureBasic 4.02 unter Linux und Windows.

Momentane Projekte:
Das geheimste aller geheimen Projekte... FPBC
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag 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.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag 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...
mknjc
Beiträge: 217
Registriert: 09.09.2006 12:59

Beitrag 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
Ich nutze PureBasic 4.02 unter Linux und Windows.

Momentane Projekte:
Das geheimste aller geheimen Projekte... FPBC
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag 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.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Antworten