ALT+F4 abfangen ??

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Stuhli
Beiträge: 75
Registriert: 18.10.2004 10:05

ALT+F4 abfangen ??

Beitrag 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 ...
SYNTAX ERROR IN 30! TYPE MISMATCH
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag 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 :(
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
HeX0R
Beiträge: 3056
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag 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
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag 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 :)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

Reicht nicht auch einfaches Ignorieren des [c]#PB_Event_CloseWindow[/c]s?
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Ich glaube bei WindowsXP kommt dann: Programm reagiert nicht....
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag 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
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag 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.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Kleben

Beitrag von Hroudtwolf »

Patex(kleber) auf ALT und F4 ...und das Problemm ist erledigt.
Antworten