Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi KeyPress/KeyDown-Events auslösen (https://www.delphipraxis.net/107678-keypress-keydown-events-ausloesen.html)

LDericher 31. Jan 2008 16:17


KeyPress/KeyDown-Events auslösen
 
Kann man KeyPress bzw. KeyDown-Ereignisse auch auslösen lassen, wenn eine Form nicht den Fokus hat?

Ich will nämlich ein ShortCut-Prog für nicht wirklich rechnerkundige Personen schreiben, da ist das sinnvoll.

Weiß wer was?

bitsetter 31. Jan 2008 16:29

Re: KeyPress/KeyDown-Events auslösen
 
In beliebigen, also fremden Programmen?
Wenn ja, wurde das Zielprogramm in Delphi geschrieben?

Edit: kannst es ja mal mit z.B. PostMessage(..., WM_KEYDOWN , VK_RETURN, 0) für onKeyDown und WM_CHAR für onKeyPress versuchen.

s-off 31. Jan 2008 16:37

Re: KeyPress/KeyDown-Events auslösen
 
Messages kannst Du an jedes Fenster verschicken, dessen Handle Du hast.
Dabei ist es vollkommen unerheblich, ob das eine fremde Anwendung ist, und ob diese in Delphi oder sonstwas geschrieben ist.

bitsetter 31. Jan 2008 17:13

Re: KeyPress/KeyDown-Events auslösen
 
Zitat:

Zitat von s-off
Messages kannst Du an jedes Fenster verschicken, dessen Handle Du hast.
Dabei ist es vollkommen unerheblich, ob das eine fremde Anwendung ist, und ob diese in Delphi oder sonstwas geschrieben ist.

Ja und, hat der Fragesteller ein Wort über Messages oder Handle verloren? Warum soll man unbedingt Messages senden, wenn sein Programm in Delphi geschrieben wurde?

Man kann eine Anwendung auch so programmieren, dass der Code im onKeyPress Ereignis nur ausgeführt wird, wenn die Anwendung auch wirklich den Fokus hat. Du kannst Messages an jedes Fenster schicken, die Frage ist nur ob die Anwendung darauf auch reagiert, daher ist meine Frage IMHO auch berechtigt.

s-off 31. Jan 2008 18:20

Re: KeyPress/KeyDown-Events auslösen
 
Zitat:

Zitat von Superwinger
Kann man KeyPress bzw. KeyDown-Ereignisse auch auslösen lassen, wenn eine Form nicht den Fokus hat?

Ich will nämlich ein ShortCut-Prog für nicht wirklich rechnerkundige Personen schreiben, da ist das sinnvoll.

Weiß wer was?

Man nehme den fünften Begriff in der zweiten Zeile und denke darüber nach... Dann sollte klar sein, dass es unerheblich sein muss, in welcher Sprache die Zielanwendung geschrieben ist.

Desweiteren war mein Kommentar als Antwort direkt an den Autor gerichtet, und nicht an Dich, als Kritik an Deiner Aussage.

Es sollte ein Lösungsvorschlag sein, unter Verwendung von Messages, mit dem Hinweis darauf, dass es dabei vollkommen irrelevant ist, in welcher Sprache die Zielanwendung geschrieben worden ist.
Warum ich die Variante mit Messages vorgeschlagen habe, erklärt der Eingangssatz dieses Beitrages.

LDericher 31. Jan 2008 18:48

Re: KeyPress/KeyDown-Events auslösen
 
Ich meine, kann man das Hauptprogramm so schreiben, dass es immer einen Tastendruck empfängt, egal ob es den fokus hat oder nicht? um zum Beispiel per Druck von einer Taste ein anderes Programm zu starten oder so?

Ich sehe nur, dass ihr meine Frage abstrahiert/verkompliziert...;-)

s-off 31. Jan 2008 18:52

Re: KeyPress/KeyDown-Events auslösen
 
Ja, das kann man auch - die Dinger, die man dazu benötigt, schimpfen sich Hier im Forum suchenHooks

Edit: Rechtschreibfehler

bitsetter 31. Jan 2008 20:46

Re: KeyPress/KeyDown-Events auslösen
 
Zitat:

Zitat von Superwinger
Ich meine, kann man das Hauptprogramm so schreiben, dass es immer einen Tastendruck empfängt, egal ob es den fokus hat oder nicht? um zum Beispiel per Druck von einer Taste ein anderes Programm zu starten oder so?

Für ein ShortCut-Programm kann auch Hot-Keys systemweit setzen und verwenden schon ausreichen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz