AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Länge eines Tastendrucks speichern und ausführen?
Thema durchsuchen
Ansicht
Themen-Optionen

Länge eines Tastendrucks speichern und ausführen?

Offene Frage von "Relicted"
Ein Thema von Relicted · begonnen am 3. Okt 2007 · letzter Beitrag vom 4. Okt 2007
Antwort Antwort
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#1

Länge eines Tastendrucks speichern und ausführen?

  Alt 3. Okt 2007, 21:48
huhu!

ich such momentan nach ner möglichkeit die länge eines tastendrucks zu ermitteln - wie lang wird taste a gedrückt gehalten?

jemand eine ahnung wie man das realisieren kann?
ich brauch das ganze für eine art macro funktion. ich gehe mal davon aus um überhaupt sowas mitzubekommen muss ich nen globalen keyhook einbauen right?

freue mich wie immer auf eure antworten

gruß
reli
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Länge eines Tastendrucks speichern und ausführen?

  Alt 3. Okt 2007, 21:54
Zitat:
muss ich nen globalen keyhook einbauen right?
Wenn du es global auf dem Rechner haben willst, dann ja.
du musst halt die Zeit zwischen drücken und loslassen stoppen. Das sind beides getrennte Nachrichten. Nach der ersten gedrückt-Meldung musst du alle weiteren Taste-gedrückt-Meldungen ignorieren.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Länge eines Tastendrucks speichern und ausführen?

  Alt 4. Okt 2007, 07:52
ich denke mal da werden x hundert messages aufschlagen oder? es gibt da ja bei windows die tolle einstellung was die tastengeschwindigkeit angibt. also quasi nur die erste WM_Keydown nehmen und dann die letzte WM_Keyup?!

gruß
reli
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Länge eines Tastendrucks speichern und ausführen?

  Alt 4. Okt 2007, 08:37
Delphi-Quellcode:
var
  TasteGedrueckt: Boolean;
  ZeitVergangen: Cardinal;


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if TasteGedrueckt then
    exit;
  ZeitVergangen := GetTickCount;
  TasteGedrueckt := True;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  showmessage(Format('Die Taste wurde %f Sekunden gedrückt!', [(GetTickCount - ZeitVergangen) / 1000]));
  TasteGedrueckt := False;
end;
Und dann halt noch KeyPreview auf deiner Form aktivieren damit die Ereignisse auch aufgerufen werden wenn mal eine andere Komponente auf der Form den Fokus hat.
Außerdem geht das nur wenn dein Programm grad (in Windows) aktiv ist, also den Fokus hat!
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Länge eines Tastendrucks speichern und ausführen?

  Alt 4. Okt 2007, 08:41
jup das is klar... daher ja auch die sache mit dem keyhook
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr.
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