JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=35ac7ffac47d38ec5ffcd492fb783391Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

[Win32] Sperren von ALT-Key Combos(z.B. ALT+F4 usw.)

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> FAQ
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 21:28    Titel: [Win32] Sperren von ALT-Key Combos(z.B. ALT+F4 usw.) Antworten mit Zitat

Frage:
Ich möchte in meinem Programm dass der Anwender nicht einfach per ALT+F4 das Programm beenden kann oder per ALT+TAB einfach in eine andere Anwendung springt. Was kann ich tun?

Ich bin so verzweifelt!
Anmerkung vom Moderator: Manchmal wünscht sich sowas ein Prorammierer, wenn er nicht will dass seine Fullscreen-Anwendung ohne weiteres beendet werden kann, bzw. um zu verhindern, dass das Programm den Focus verliert(->Stichwort lost Devices). In einer "normalen" Fenster-Andwendung sollte man als Programmierer jedoch Vernunft zeigen und so etwas unterlassen. Wink

Antwort:
Um die ALT-Combos zu sperren muss man sozusagen die Windowsnachrichten abfangen. Dazu muss man in seiner Windows-Prozedur(Callback Funktion) folgendes in der obligatorischen switch Schleife vorsehen:
Code:
case WM_SYSKEYDOWN:
case WM_SYSKEYUP:
case WM_SYSCHAR:

Das sind Nachrichten die eigentlich für Windows selbst als für die Anwendung selbst bestimmt sind. Solange der Focus auf eben jener Anwendung liegt, werden ALT-Tastenkombinationen ignoriert. SOllte man jedoch mit der Maus den Focus auf ein anderes Fenster/Anwendung setzen, funktionieren diese jedoch weiterhin, nicht dass jemand hier denkt man würde hier "globale Nachrichten" abfangen. Die Nachrichten sind einfach im Regelfall für die Anwendung unwichtig. Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> FAQ Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum