Seite 1 von 1

ALT+F4 abfangen ??

Verfasst: 17.01.2005 13:47
von Stuhli
Kann ich das irgendwie abfangen ?? Ich möchte nicht das der benutzer das Programm beendet, denn es läuft im hintergrund und wenn zufällig die Kombination gedrückt wird, ist mein Programm aus ! Obwohl evtl ein anderes im Vordergrund laufendes Programm gemeint ist !

Dumm ist daran aber, daß das Programm von Windows beendet werden darf :

Code: Alles auswählen

...
Until EventID=#PB_Event_CloseWindow 
:? Verzwickte Sache ...

Verfasst: 17.01.2005 13:51
von freedimension
Wenn das Programm im Hintergrund läuft und keinen Eingabefokus hat, kann es auch nicht gemeint sein wenn man ALT-F4 drückt.

Ansonsten: Es gibt dazu glaube ich etwas im CodeArchiv, das ist aber sehr hardwarenah und sperrt komplett alles soweit ich mich nicht täusche :(

Verfasst: 17.01.2005 14:18
von HeX0R
Ein dummy-Shortcut ?

Code: Alles auswählen

If OpenWindow(0, 1, 1, 500, 500, #PB_Window_SystemMenu | #PB_Window_TitleBar, "Test")
  AddKeyboardShortcut(0, #PB_Shortcut_Alt | #PB_Shortcut_F4, 100)
  If CreateMenu(0, WindowID(0))
    MenuTitle("Nix")
    Repeat
      Select WaitWindowEvent()
        Case #PB_Event_Menu
          Select EventMenuID()
            Case 100
              ;Dummy Shortcut zum Abfangen...
              Debug "Test"
          EndSelect
        Case #PB_Event_CloseWindow
          Break
      EndSelect
    ForEver
  EndIf
EndIf

Verfasst: 17.01.2005 14:23
von freedimension
HeX0R hat geschrieben:Ein dummy-Shortcut ?
Hätte nicht gedacht, dass sich Windows so leicht hinters Licht führen lässt. Habe angenommen, dass es sich bei Alt-F4 so ähnlich verhält wie bei Alt-Tab :)

Verfasst: 17.01.2005 22:14
von Lars
Reicht nicht auch einfaches Ignorieren des [c]#PB_Event_CloseWindow[/c]s?

Verfasst: 17.01.2005 23:28
von bluejoke
Ich glaube bei WindowsXP kommt dann: Programm reagiert nicht....

Verfasst: 17.01.2005 23:30
von freedimension
Lars hat geschrieben:Reicht nicht auch einfaches Ignorieren des [c]#PB_Event_CloseWindow[/c]s?
Stuhli hat geschrieben:Dumm ist daran aber, daß das Programm von Windows beendet werden darf

Verfasst: 17.01.2005 23:37
von Lars
Irgendwie blicke ich da nicht durch. Das Programm wird so nicht beendet,
weder, wenn man ALT+F4 drückt, noch, wenn man den Schließen Button
drückt, noch, wenn der Taskmanager eine #WM_CLOSE message schickt,
was der Fall ist, wenn man dort im Anwendungsreiter Anwenung beenden benutzt.

Trotzdem ist natürlich der Prozess weiterhin nicht beenden-resistent,
genauso, wie das Window vermutlich vor härteren Methoden nicht gefeit
ist. Aber daran ändert sich auch nichts, wenn man ALT+F4 komplett lahm
legt. Von daher verstehe ich die Problemstellung jetzt nicht mehr ganz,
aber evtl. bin ich damit ja alleine, dann möge mich jemand aufklären :wink:


//Edit:
Der Taskmanager scheint doch härter durchzugreifen, denn nachdem eine
Gnadenfrist nach dem #WM_CLOSE abgelaufen ist, wird der Prozess dann
wohl doch beendet. Ändert aber nichts, das hat auch nichts damit zu tun, ALT+F4 zu disablen.

Verfasst: 17.01.2005 23:51
von ts-soft
Wenn OpenWindow als Flags 0 übergeben wird, hat das Fenster keine Buttons, und läßt sich auch nicht über Alt-F4 schließen. Falls sowas gemeint ist

Kleben

Verfasst: 17.01.2005 23:58
von Hroudtwolf
Patex(kleber) auf ALT und F4 ...und das Problemm ist erledigt.