Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   KeyPressed Problem. (https://www.delphipraxis.net/152620-keypressed-problem.html)

therowe 29. Jun 2010 17:56

KeyPressed Problem.
 
Heyhey liebe DPler.
Ich bin gerade dabei ein ganz kleines Programm für einen Freund zu schreiben doch hier bin ich auf ein Problem gestoßen. Ich benutze folgenden Code:
Delphi-Quellcode:
function KeyPressed(Key: Integer): Boolean;
begin
  KeyPressed := (GetAsyncKeyState(Key) and $8000 <> 0);
end;
....
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if KeyPressed(ord('a')) then
edit1.Text := edit1.Text + 'a';
....
So wenn ich aber jetzt das Programm starte und z.B. einen Texteditor öffne und in diesen z.B. ein a drücke escheint kein a in dem edit.


Ach ja ich habe den Timer auf Interval 1 und er ist Enabled = true ;)

s.h.a.r.k 29. Jun 2010 17:59

AW: KeyPressed Problem.
 
Was zum Teufel hast du vor? Bitte keinen KeyLogger?!

Das Interval vom Timer kann maximal 15 oder 16 sein. Kleiner ist die Auflösung von dem Ding nicht.

DeddyH 29. Jun 2010 18:02

AW: KeyPressed Problem.
 
Wieso überhaupt ein Timer und nicht die OnKeyXXX-Ereignisse?

therowe 29. Jun 2010 18:02

AW: KeyPressed Problem.
 
Nene nur doofes Beispiel zum ausprobieren. Das Teil soll später mal bei einem Tastendruck ein bestimmtes Fenster durch eine taste öffnen. z.B. durch eben a dann. ich hatte so eine Art schon mal jedoch hier mit VK_SPACE und da ging es natürlich ... mich verwunderte ja das es nicht ging.

s.h.a.r.k 29. Jun 2010 18:03

AW: KeyPressed Problem.
 
Er will wohl feststellen, ob eine Taste global gedrückt ist. Und das eben via Timer abfragen.

DeddyH 29. Jun 2010 18:05

AW: KeyPressed Problem.
 
Das klingt mir aber eher nach MSDN-Library durchsuchenRegisterHotKey.

therowe 29. Jun 2010 18:06

AW: KeyPressed Problem.
 
Es soll ja im nicht aktiven Zustand seinen Zweck erfüllen. Keylogger nenenene :o man kann ja später den Timer ab und anschalten.

DeddyH 29. Jun 2010 18:08

AW: KeyPressed Problem.
 
Nochmal: Dein Programm soll irgendetwas machen, wenn systemweit eine bestimmte Tastenkombination gedrückt wird? Dann siehe meine Antwort von oben.

s.h.a.r.k 29. Jun 2010 18:20

AW: KeyPressed Problem.
 
@DeddyH: Verstehst du unter "Kombination" auch nur einen einzelnen? Habe mir den Link von weiter oben nicht näher angeschaut.

DeddyH 29. Jun 2010 18:28

AW: KeyPressed Problem.
 
Das kann (evtl.) auch ein einzelner sein, aber das würde ich mir lieber ersparen (ich drücke in Word oder sonstwo auf 'a' und ein Fenster einer anderen Anwendung geht auf, na Dankeschön).


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 Uhr.
Seite 1 von 2  1 2      

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