Alt+F4 deaktivieren
-
in der PreTranslateMessage-Methode die Kombi abfangen.
BOOL PreTranslateMessage(MSG* pMsg) { // if key was pressed if (pMsg->message == WM_KEYDOWN) { if ((GetAsyncKeyState(VK_CONTROL)) && (GetAsyncKeyState(VK_F4))) {//Ctrl + F4 return 1; } } }
gruß
Danieledit: @dying: ich glaube nicht, dass er die kombi alt+f4 des IE ausschalten möchte
edit2: ups ALT+f4... finde gerade den VK für alt nicht
-
Dein Link funktioniert nicht!
-
DanielusITF schrieb:
in der PreTranslateMessage-Methode die Kombi abfangen.
BOOL PreTranslateMessage(MSG* pMsg) { // if key was pressed if (pMsg->message == WM_KEYDOWN) { if ((GetAsyncKeyState(VK_CONTROL)) && (GetAsyncKeyState(VK_F4))) {//Ctrl + F4 return 1; } } }
gruß
DanielDank ich hoffe das hilft mir weiter.
mfg
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Der Hinweis mit dem PreTranslateMessage und WM_KEYDOWN ist natürlich Quatsch.
Durch Alt+F4 wird in eine WM_SYSCOMMAND Nachricht umgewandelt und ist keine WM_KEYDOWN Nachricht sondern eine WM_SYSKEYDOWN Nachricht.
Die Frage die ich Dir stelle: Geht es Dir um das Schließen allgemein, oder nur um den Tastaturbefehl?
Welchen Sinn soll das machen?
-
@ martin richter
ich möchte das ich in meinem programm mit alt+f4 das programm nicht geschlossen wird.
mfg
-
Klemm einfach was unter F4, braucht sowieso keiner.
-
Falls du eine Fenster-Anwendung hast, dann fange einfach WM_CLOSE ab und reagiere darau mit einem return 0;
-
flenders schrieb:
Falls du eine Fenster-Anwendung hast, dann fange einfach WM_CLOSE ab und reagiere darau mit einem return 0;
Dann kann man es aber gar nicht mehr schliessen!
-
imme schrieb:
ich möchte das ich in meinem programm mit alt+f4 das programm nicht geschlossen wird.
Dann behandle WM_SYSKEYDOWN, wie ich es schrieb.
PS: Deine Umschalttaste scheint teilweise kaputt zu sein!
-
Stimmt, wenn du wirklich nur Alt+F4 abfangen willst, dann ist meine Variante nicht so das richtige - beenden lässt sich das Programm aber schon noch (du muss nur eben irgendwo DestroyWindow(hwnd) aufrufen)
-
DANKE