Programme sofort schliessen
lima-city → Forum → Programmiersprachen → C/C++ und D
acht
anwendung
beispiel
bescheid
bestimmte taste
dien
exit
fenster
fragen
frustration
gel
hintergrund
keyboard
meinst
message
moment
relativ
sofort
tastatureingabe
vielen dank
-
Hi,
ich wollte ein, so einfach wie m?gliches, Programm programmieren, beidem durch Tastendruck sofort das aktuell ge?ffnete Programm geschlossen wird. Ich komme leider nicht vorw?rts und hab deshalb aus Frustration den ganzen Code gel?scht, weil es nicht funktioniert hat .
Hat jemand evntl. eine Idee, wie man das machen k?nnte, ohne dass es alzu kompliziert wird?
mfg,
hr -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Was sch?n w?re zu wissen: was ist das f?r ne Anwendung? Fenster oder Konsolenanwendung? bei Konsolenanwendung reicht einfach ein return 0; oder ein exit(0); bei einer Fensteranwendung ist das wieder was ganz anderes. Bei einer Fensteranwendung muss man auf die Message WM_DESTROY reagieren mit PostQuitMessage(0);
-
Ich hab das jetzt eigentlich so verstanden, dass ein Programm erstellt werden soll, dass im Hintergrund l?uft. Wenn man dann eine bestimmte Taste dr?ckt, schliesst das im Hintergrund laufende Programm das Programm, welches im Moment auf dem Desktop den Eingabefokus hat (aktiv ist).
Bitte mal erkl?ren, ob du das so meinst oder anders. -
Hi,
@0-checka: ja genau das meine ich. Sorry, dass ich mich nicht richtig ausgedr?ckt hab.
Ich hoffe ihr k?nnt mir helfen.
mfg,
hr -
Das ist eigentlich relativ einfach. Du kannst mit der Funktion SetWindowsHookEx() aus der WinAPI alle Tastatureingaben mitlesen. Wenn dann die bestimmte Taste gedr?ckt wurde, dann schliesst du einfach das Fenster, dass gerade den Eingabefokus hat. Es gibt noch bessere L?sungen (die auch auf SetWindowsHooksEx() basieren), diese L?sung sollte aber hinreichend genau funktionieren.
Infos zu SetWindowsHookEx():
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/setwindowshookex.asp -
Hi,
@0-checka:
danke f?r die Information.
K?nntest du mir evntl. einen m?glichen beispiel Code geben? Ich bin damit leider nicht so erfahren.
W?re echt nett. Noch eine Frage: wenn ich z.B. ein Spiel laufen habe, werden dann die Tastenbet?tigungen auch ?ber SetWindowsHookEx() regisriert, oder geht dass dann nicht?
mfg,
hr -
Hier ein Beispiel (achte auf den Link unten, da kannst du das vollst?ndige Projekt runterladen):
http://www.codeguru.com/Cpp/W-P/system/keyboard/article.php/c5699
heavyraptor schrieb:
wenn ich z.B. ein Spiel laufen habe, werden dann die Tastenbet?tigungen auch ?ber SetWindowsHookEx() regisriert, oder geht dass dann nicht?
Windows Hooks gelten f?r ALLE Prozesse (auch Dienste). -
Hi,
vielen Dank. Der beispielcode hat mir weitergeholfen.
Ich sag bescheid, wenn ich mein Programm fertig habe, um zu zeigen wie es geht.
mfg,
hr -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage