AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastenkombination simulieren

Ein Thema von Todd · begonnen am 1. Jul 2007 · letzter Beitrag vom 1. Jul 2007
Antwort Antwort
Todd

Registriert seit: 27. Jun 2007
25 Beiträge
 
#1

Tastenkombination simulieren

  Alt 1. Jul 2007, 15:46
Hallo Leute,

ich möchte gerne auf meinem Formular die folgende Tastenkombination simulieren.
D.h. der User drückt einen Button und eine Tastenkombination wird so ausgeführt, als ob es der User eingegeben hätte:

Delphi-Quellcode:
procedure Form1.Button1Click(TObject *Sender)
begin
     //Jetzt die Tastenkombination - Str+Shift+L - 2mal nacheinander ausführen
...
...
end
Danke für eure Hilfe
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: Tastenkombination simulieren

  Alt 1. Jul 2007, 15:47
Such mal nach keybd_event.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: Tastenkombination simulieren

  Alt 1. Jul 2007, 15:59
Funktioniert mit WM_KEYDOWN und WM_KEYUP Messages. Es koente aber Probleme damit geben das es von einem TButton ausgeloest wird. Ein TButton ist eine TWinControl und hat beim Ausloesen den Fokus. Die Tastendruecke gehen also an den Button und duerften dort einfach ignoriert werden.
  Mit Zitat antworten Zitat
Todd

Registriert seit: 27. Jun 2007
25 Beiträge
 
#4

Re: Tastenkombination simulieren

  Alt 1. Jul 2007, 16:26
Okay danke,

es funktioniert halbwegs:
Delphi-Quellcode:
procedure Form1.Button1Click(TObject *Sender)
begin
     keybd_event(VK_CONTROL,0,0,0);
     keybd_event(VK_SHIFT,0,0,0);
     keybd_event('L',0,0,0);
end
Das Problem ist jetzt, dass die Tastenkombination auch weiterhin besteht. Wie kann ich denn diese wieder auf "Normal" zurücksetzen, so dass kein Tastendruck simuliert wird und das Keyboard sozusagen wieder in seiner Ausgangseinstellung ist?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

Re: Tastenkombination simulieren

  Alt 1. Jul 2007, 16:49
Hast Du die Hilfe zu keybd_event nicht ganz gelesen? Es gibt die Konstante KEYEVENTF_KEYUP, die dafür zuständig ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Todd

Registriert seit: 27. Jun 2007
25 Beiträge
 
#6

Re: Tastenkombination simulieren

  Alt 1. Jul 2007, 17:07
Danke für die schnelle Hilfe...

Leider habe ich in meiner Hilfe keinen Eintrag zu "keybd_event" und konnte deshalb auch nicht nachsehn.

Funktioniert jetzt jedenfalls einwandfrei...Nochmals danke
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: Tastenkombination simulieren

  Alt 1. Jul 2007, 19:21
Man laedt sich am besten von Microsoft das Platform SDK herunter. Das ist das Win32 API mit Hilfe.
  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 22:41 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