AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi das gedückthalten einer taste simulieren
Thema durchsuchen
Ansicht
Themen-Optionen

das gedückthalten einer taste simulieren

Ein Thema von ghost007 · begonnen am 22. Okt 2006 · letzter Beitrag vom 30. Okt 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#1

das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 03:23
Hallo,
ich glaube der titel sagt schon fast alles .
Ich möchte das gedrückthalten einer taste an eine anwendung senden.
Wie mach ich das?

MfG - Ghost
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 05:57
Hi Ghost,

das ist ganz einfach:
Es gibt eine Message um eine Taste zu drücken-
und dazu gibt es auch die Passende Message um die Taste
wieder los zu lassen...

Delphi-Quellcode:
  Keybd_Event(Ord('H'),0,0,0);
  Keybd_Event(Ord('H'),0,KEYEVENTF_KEYUP,0);

  Keybd_Event(Ord('A'),0,0,0);
  Keybd_Event(Ord('A'),0,KEYEVENTF_KEYUP,0);

  Keybd_Event(Ord('L'),0,0,0);
  Keybd_Event(Ord('L'),0,KEYEVENTF_KEYUP,0);

  Keybd_Event(Ord('L'),0,0,0);
  Keybd_Event(Ord('L'),0,KEYEVENTF_KEYUP,0);

  Keybd_Event(Ord('O'),0,0,0);
  Keybd_Event(Ord('O'),0,KEYEVENTF_KEYUP,0);

  Keybd_Event(Ord(13),0,0,0); //13 steht für die Entertaste
  Keybd_Event(Ord(13),0,KEYEVENTF_KEYUP,0);
Ansonsten gibt natürlich auch noch ganz viele andere Infos in dieser Richtung hier in der DP... Die Such freut sich

Leuchtende Grüße

Stefan


alias Light
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#3

Re: das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 11:26
Hi,
danke für die schnelle antwort.
Aber das mit dem keyup funktioniert nicht... anscheinend nur bie shift tasten.
Was mach ich falsch?
Delphi-Quellcode:
procedure TForm1.startApressClick(Sender: TObject);
begin
  Edit1.SetFocus;
  keybd_event(Ord('A'), 0, 0, 0);
end;

procedure TForm1.stopApressClick(Sender: TObject);
begin
  Edit1.SetFocus;
  keybd_Event(Ord('A'),0,KEYEVENTF_KEYUP,0);
end;
MfG - Ghost
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

Re: das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 12:05
Ich nehme an, in dem Augenblick, in dem der Button StopAPress gedrückt wird verliert Edit1 den Fokus, sodass die Tastendrücke nicht mehr gesendet werden.
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 12:10
Hi Ihr,

habs extra grad noch mal ausprobiert-
bei mir funktioniert es!

Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#6

Re: das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 16:06
hi,
d.h. er schreibt in deine edit lauter As bis du den 2. button drückst und er aufhört?

MfG - Ghost

P.S.Kannste vll dein project, indem das funst uploaden?
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 16:11
mhh wenn das Edit in deinem eigenen Programm ist dann machs doch einfach so:

Delphi-Quellcode:
repeat
 Edit1.Text := Edit1.Text + 'a';
 Application.Processmessages;
until BooleanVariable;
das in den ersten Button und in dem Zweiten:

BooleanVariable := true; find ich einfacher...

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#8

Re: das gedückthalten einer taste simulieren

  Alt 22. Okt 2006, 18:48
hi,
danke für dienen tipp, aber das edit dient nur zum testen, normalerweise will ich die keys an eine andere anwendung senden.

MfG - Ghost
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: das gedückthalten einer taste simulieren

  Alt 23. Okt 2006, 16:07
Hi Ihr,

Bin grad nicht am Entwicklungsrechner..
Sobald ich den wieder zu verfügung hab stell ichs rein!


Leuchtende Grüße

Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#10

Re: das gedückthalten einer taste simulieren

  Alt 23. Okt 2006, 20:54
oh, vielen dank =)
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 21:55 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