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/)
-   -   Delphi Globale Tastaturabfrage (https://www.delphipraxis.net/21201-globale-tastaturabfrage.html)

franktron 29. Apr 2004 10:18


Globale Tastaturabfrage
 
Wie kann ich Tasten (Tastatur und Maus) Global abfragen.

Z.b. mein Programm läuft unten in der Tray mit und ich bin in Irgendeinem Programm und drücke eine Tastenkombination,
dann soll mein Programm was ausführen.

Wie geht das :gruebel:

AlphaBug 29. Apr 2004 10:21

Re: Globale Tastaturabfrage
 
Hallo franktron,

vielleicht funktionierts mit GetKeyState.

franktron 29. Apr 2004 10:47

Re: Globale Tastaturabfrage
 
Hat da einer vieleicht ein Beispielcode

HaJo 29. Apr 2004 11:02

Re: Globale Tastaturabfrage
 
So funktioniert die Tastaturabfrage

Delphi-Quellcode:
procedure TMain.FormKeyPress(Sender: TObject; var Key: Char);
begin
   if Key = #13 then
      self.perform(wm_nextdlgctl,0,0);

   IF Key = #6 then
      MessageDlg('Ab dem 30.01.1999 wird mit F3 gesucht.', mtInformation, [mbOk], 0);

   if Key = #27 then
      begin
         Abort := TRUE;
         forms.Application.Minimize;
      end;
END;
Viel Spaß
Jochen

[edit=sakura] [delphi]_tags Mfg, sakura[/edit]

Luckie 29. Apr 2004 11:09

Re: Globale Tastaturabfrage
 
Wie wäre es mit einem HotKey? Stichwort: Hier im Forum suchenRegisterhotkey

Semikolon 20. Jan 2007 23:33

Re: Globale Tastaturabfrage
 
Wenn ich Tasten mit Keydown abfrage,z.B. die Taste A und diese gedrückt halte,wird das Ereignis
hinternander ausgelöst.Wie kann ich warten bis nichts mehr gedrückt wird und dann erst
neue Tastenanschläge zulassen? :shock: Irgendwie mit KEY_UP oder so?

Apropos:Gibt es bei keydown event irgendwie sowas wie key_any oder so?Das eben bei einer beliebigen Taste reagiert wird?

inherited 20. Jan 2007 23:36

Re: Globale Tastaturabfrage
 
Zitat:

Zitat von Semikolon
Apropos:Gibt es bei keydown event irgendwie sowas wie key_any oder so?Das eben bei einer beliebigen Taste reagiert wird?

Wie meinst du das? Das event wird ja nur ausgelöst, wenn eine Taste gedrückt wird. Das heisst du brauchst keine weitere Abfrage.

Zitat:

Zitat von Semikolon
Wenn ich Tasten mit Keydown abfrage,z.B. die Taste A und diese gedrückt halte,wird das Ereignis
hinternander ausgelöst.Wie kann ich warten bis nichts mehr gedrückt wird und dann erst
neue Tastenanschläge zulassen? :shock: Irgendwie mit KEY_UP oder so?

Wenn ich dich richtig verstanden habe, suchst du das Event OnKeyUp der Form

Semikolon 20. Jan 2007 23:43

Re: Globale Tastaturabfrage
 
Ja aber kennst du eine guten Algorithmus?

Zum Beispiel:

Bei

if key=vk_right then image1.left:=image1.left+100

Wenn ich dann also Rechts gedrückt halte bewegt sich das Image rasant schnell vorwärts.

Ich will aber gedrückte gehaltene Tasten ausschließen.Wie mach ich das am besten?

inherited 20. Jan 2007 23:44

Re: Globale Tastaturabfrage
 
Wie gesagt, das einfach ins KeyUp-Event oder ein Sleep, bzw. Delay einbauen

toms 20. Jan 2007 23:47

Re: Globale Tastaturabfrage
 
Zitat:

Zitat von Semikolon
if key=vk_right then image1.left:=image1.left+100

Wenn ich dann also Rechts gedrückt halte bewegt sich das Image rasant schnell vorwärts.

...oder du veränderst die Konstante 100 und schreibst z.B + 20.


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

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