Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Langen Tastendruck simulieren (https://www.delphipraxis.net/104842-langen-tastendruck-simulieren.html)

dying_Tobi 11. Dez 2007 16:56


Langen Tastendruck simulieren
 
Einen schönen Guten Tag, ich habe ein Keyboardprogramm, das ich mit der Tastatur normal ansteuern kann.
Da ich nicht 3 Hände habe um 2 Instrumente zu spielen, habe ich mir was zusammen gebastelt (Code folgt), dass einzelne Tasten an mein Keyboardprogramm sendet und darauf die Töne abspielt.
Nun meine Fragen....

1) Wie kann ich 2 Tasten gleichzeitig drücken lassen?
2) Wie kann ich eine Taste länger halten lassen (sagen wir 4 Sekunden)?

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
targetWnd: HWND;
begin
  targetWnd := FindWindow(nil,'Absynth 4');
    if targetWnd <> 0 then
    begin
      PostKeyExHWND(targetWnd, Ord('V'),[ssShift], False);
      // PostKEYEXHWD unter [url]http://www.swissdelphicenter.ch/de/showcode.php?id=220[/url]
    end;
end;
Einen herzlichen Dank im Vorraus

mfg Tobi

himitsu 11. Dez 2007 17:03

Re: Langen Tastendruck simulieren
 
schau dir mal die Unit Hier im Forum suchenSendKey an.

Diese bietet Funktionen dafür an, oder du schaust einfach welche APIs diese verwendet.

Da gibt es eine API, wo man sagen kann daß eine Taste gedrückt oder losgelassen wird.

wenn du diese Befehle dann entsprechend sendest, dann könntest du z.B. eine Taste 4 Sekunden lang drücken lassen und gleichzeigig noch eine andere
Zitat:

> Taste A drücken
> Taste B drücken
> 4 Sekunden warten
> Taste B loslassen
> Taste A loslassen


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:03 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