AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Tastendrücke abfangen und Tastendr. simulieren (für trainer)

Tastendrücke abfangen und Tastendr. simulieren (für trainer)

Ein Thema von joel93 · begonnen am 7. Dez 2006 · letzter Beitrag vom 29. Mär 2007
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von joel93
joel93

Registriert seit: 15. Jun 2006
Ort: Lennestadt
139 Beiträge
 
Delphi 7 Professional
 
#11

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 8. Dez 2006, 15:19
Ich hab da was komisches in der Delphi Help gefunden:

Zitat:
VCL-Referenz
Virtuelle Tastencodes

Siehe auch

Die virtuellen Tastencodes sind symbolische Entsprechungen von Tastatureingaben.

Unit

Windows

Beschreibung

Durch virtuelle Tastencodes können Tastenwerte für nicht-alphanumerische Tasten dargestellt werden. In Windows sind spezielle Konstanten für jede Taste definiert, die der Benutzer drücken kann. Über diese Konstanten kann dann in Windows-API-Aufrufen oder in den Ereignisbehandlungsroutinen für OnKeyUp und OnKeyDown auf die Tasten Bezug genommen werden.

Die meisten virtuellen Tastencodes sind in der Unit Windows definiert. Weitere Tastencodes sind in speziellen Windows-Wrappern (z. B. Unit imm) definiert. Verwenden Sie bei alphabetischen Tasten ord zusammen mit einem Großbuchstaben, wie beispielsweise ord( 'M' ).

Mit der Methode Ord kann ein virtueller Tastencode für einen alphanumerischen Wert erzeugt werden. Ord(‘7’) liefert beispielsweise den virtuellen Tastencode für die Ziffer 7.

Die folgende Tabelle führt die in der Unit Windows definierten Tastencodes auf:

Virtueller Tastencode Zugehörige Taste



VK_LBUTTON Linke Maustaste
VK_RBUTTON Rechte Maustaste
VK_CANCEL Strg+Untbr
VK_MBUTTON Mittlere Maustaste
VK_BACK Taste Rück
VK_TAB Taste Tab
VK_CLEAR Taste Clear
VK_RETURN Taste Return
VK_SHIFT Taste Umschalt
VK_CONTROL Taste Strg
VK_MENU Taste Alt
VK_PAUSE Taste Pause
VK_CAPITAL Taste CapsLock
VK_KANA Wird mit IME verwendet
VK_HANGUL Wird mit IME verwendet
VK_JUNJA Wird mit IME verwendet
VK_FINAL Wird mit IME verwendet
VK_HANJA Wird mit IME verwendet

VK_KANJI Wird mit IME verwendet
VK_CONVERT Wird mit IME verwendet
VK_NONCONVERT Wird mit IME verwendet
VK_ACCEPT Wird mit IME verwendet
VK_MODECHANGE Wird mit IME verwendet
VK_ESCAPE Taste Esc
VK_SPACE Leertaste
VK_PRIOR Taste Bild auf
VK_NEXT Taste Bild ab
VK_END Taste Ende
VK_HOME Taste Pos1
VK_LEFT Taste Links
VK_UP Taste Auf
VK_RIGHT Taste Rechts
VK_DOWN Taste Ab
VK_SELECT Auswahltaste
VK_PRINT Taste Druck (tastaturspezifisch)
VK_EXECUTE Ausführungstaste

VK_SNAPSHOT Taste Druck
VK_INSERT Taste Einfg
VK_DELETE Taste Entf
VK_HELP Taste Hilfe
VK_LWIN Linke Windows-Taste (Microsoft-Tastatur)
VK_RWIN Rechte Windows-Taste (Microsoft-Tastatur)
VK_APPS Anwendungstaste (Microsoft-Tastatur)
VK_NUMPAD0 Taste 0 (numerischer Tastaturblock)
VK_NUMPAD1 Taste 1 (numerischer Tastaturblock)
VK_NUMPAD2 Taste 2 (numerischer Tastaturblock)
VK_NUMPAD3 Taste 3 (numerischer Tastaturblock)
VK_NUMPAD4 Taste 4 (numerischer Tastaturblock)

VK_NUMPAD5 Taste 5 (numerischer Tastaturblock)
VK_NUMPAD6 Taste 6 (numerischer Tastaturblock)
VK_NUMPAD7 Taste 7 (numerischer Tastaturblock)
VK_NUMPAD8 Taste 8 (numerischer Tastaturblock)
VK_NUMPAD9 Taste 9 (numerischer Tastaturblock)
VK_MULTIPLY Taste Multiplizierien (numerischer Tastaturblock)
VK_ADD Taste Addieren (numerischer Tastaturblock)
VK_SEPARATOR Taste Num (numerischer Tastaturblock)
VK_SUBTRACT Taste Subtrahieren (numerischer Tastaturblock)
VK_DECIMAL Taste Komma (numerischer Tastaturblock)

VK_DIVIDE Taste Dividieren (numerischer Tastaturblock)
VK_F1 Taste F1
VK_F2 Taste F2
VK_F3 Taste F3
VK_F4 Taste F4
VK_F5 Taste F5
VK_F6 Taste F6
VK_F7 Taste F7
VK_F8 Taste F8
VK_F9 Taste F9
VK_F10 Taste F10
VK_F11 Taste F11
VK_F12 Taste F12
VK_F13 Taste F13
VK_F14 Taste F14
VK_F15 Taste F15
VK_F16 Taste F16
VK_F17 Taste F17
VK_F18 Taste F18
VK_F19 Taste F19
VK_F20 Taste F20
VK_F21 Taste F21
VK_F22 Taste F22
VK_F23 Taste F23
VK_F24 Taste F24

VK_NUMLOCK Taste NumLock
VK_SCROLL Taste ScrollLock
VK_LSHIFT Linke Umschalttaste (nur mit GetAsyncKeyState und GetKeyState)
VK_RSHIFT Rechte Umschalttaste (nur mit GetAsyncKeyState und GetKeyState)
VK_LCONTROL Linke Strg-Taste (nur mit GetAsyncKeyState und GetKeyState)
VK_RCONTROL Rechte Strg-Taste (nur mit GetAsyncKeyState und GetKeyState)
VK_LMENU Linke Alt-Taste (nur mit GetAsyncKeyState und GetKeyState)

VK_RMENU Rechte Alt-Taste (nur mit GetAsyncKeyState und GetKeyState)
VK_PROCESSKEY Taste Verarbeiten
VK_ATTN Taste Attn
VK_CRSEL Taste CrSel
VK_EXSEL Taste ExSel
VK_EREOF Taste EOF löschen
VK_PLAY Taste Wiedergabe
VK_ZOOM Taste Zoom
VK_NONAME Reserviert für künftige Verwendung
VK_PA1 Taste PA1
VK_OEM_CLEAR Taste Clear



Was mich stört ist:
VK_F13 Taste F13
VK_F14 Taste F14
VK_F15 Taste F15
VK_F16 Taste F16
VK_F17 Taste F17
VK_F18 Taste F18
VK_F19 Taste F19
VK_F20 Taste F20
VK_F21 Taste F21
VK_F22 Taste F22
VK_F23 Taste F23
VK_F24 Taste F24
Die Tasten kenne ich garnicht, sind sie in den Treibern integrierd und werden nicht benutz oder sind es MultimediaTasten???
Joel
http://g3dbef.funpic.de/ubar/ubarani.gif
(\_/)
(o.o) Copy Bunny into your signature
(> <) to help him on his way to world domination.
  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
 
#12

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 8. Dez 2006, 15:29
Naja die Tasten gibts.. theoretisch.. Nur gibts die halt nicht (selten?^^) auf ner Tastatur...
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 joel93
joel93

Registriert seit: 15. Jun 2006
Ort: Lennestadt
139 Beiträge
 
Delphi 7 Professional
 
#13

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 9. Dez 2006, 09:00
Sorrry, aber irgebdwie hab ich das gefühl das das hier ins stocken gekommen ist!?!
Joel
http://g3dbef.funpic.de/ubar/ubarani.gif
(\_/)
(o.o) Copy Bunny into your signature
(> <) to help him on his way to world domination.
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#14

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 9. Dez 2006, 09:10
WAS ist dein Problem?

Diese Tasten sind optional und halt nicht auf jeder Tastatur vorhanden, ich weiß nicht was du von uns hören willst...
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 9. Dez 2006, 15:12
immer noch keybd_event, immer noch keybd_event, immer noch keybd_event, und wen du noch 5 mal fragst, werd ich dir immer noch sagen keybd_event!
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von joel93
joel93

Registriert seit: 15. Jun 2006
Ort: Lennestadt
139 Beiträge
 
Delphi 7 Professional
 
#16

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 10. Dez 2006, 10:04
@Balu meinte igentlich das Bsp. oben, mit dem code, da hatte ich noch ne frage!

( )
Joel
http://g3dbef.funpic.de/ubar/ubarani.gif
(\_/)
(o.o) Copy Bunny into your signature
(> <) to help him on his way to world domination.
  Mit Zitat antworten Zitat
Benutzerbild von joel93
joel93

Registriert seit: 15. Jun 2006
Ort: Lennestadt
139 Beiträge
 
Delphi 7 Professional
 
#17

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 10. Dez 2006, 11:32
Hab ein Problem: in anderen anwendungen als das spiel geht keybd_event (z.B. notepad) aber in dem spiel passiert nichts(Gothic II)!
Ich hab das mal mit nen Timer getestet (pro sek.):
Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  Keybd_Event(VK_UP,0,0,0);
  Keybd_Event(VK_UP, 0, KEYEVENTF_KEYUP, 0);
end;
Joel
http://g3dbef.funpic.de/ubar/ubarani.gif
(\_/)
(o.o) Copy Bunny into your signature
(> <) to help him on his way to world domination.
  Mit Zitat antworten Zitat
StefanG

Registriert seit: 23. Feb 2006
74 Beiträge
 
#18

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 11. Dez 2006, 08:49
es gibt die Unit SNDKEY32.pas in der du die Funktion Sendkeys findest.

Für dein Beispiel würde der Aufruf dann glaub ich so aussehen :


Code:
SendKeys('{F2}gws{F2}',False);
Die Unit ist irgendwo auf der Delphi cd
  Mit Zitat antworten Zitat
Benutzerbild von joel93
joel93

Registriert seit: 15. Jun 2006
Ort: Lennestadt
139 Beiträge
 
Delphi 7 Professional
 
#19

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 13. Dez 2006, 19:14
werd ich mal suchen;(hab im moment aber nich viel zeit für hobby; wegen Xmas, außerdem schreiben wir noch nen paar arbeiten!) Danke im Voraus
Joel
http://g3dbef.funpic.de/ubar/ubarani.gif
(\_/)
(o.o) Copy Bunny into your signature
(> <) to help him on his way to world domination.
  Mit Zitat antworten Zitat
Numinos

Registriert seit: 29. Mär 2007
1 Beiträge
 
#20

Re: Tastendrücke abfangen und Tastendr. simulieren (für trai

  Alt 29. Mär 2007, 00:55
ich hab das gleiche problem. mit keybd_event kann man ganz wunderbar keystrokes an den editor oder nen anderen windowsfenster schicken, aber es geht nicht bei komplexen oberflächen, wie z..b nem spiel, weiss aber nicht warum. und die sndkey32 basiert ja auch nur auf dem keybd_event befehl.

atm versuche ich mein glück indem ich versuche direkt in den inputpuffer zu schreiben mit:

buffer:input_record; <- da steht die taste drin
handle:HWND;

handle:=getforegroundwindow;
writeconsoleinput(handle,buffer,....);

ich kann zwar den handle identifizieren , komm aber nicht in den inputhandle rein, um vom inputbuffer lesen bzw schreiben zu können. hat da einer ne idee?

es gibt ja den befehl getstdhandle(STD_INPUT_HANDLE), um eben ganz speziell den inputhandle des eigenen programs zu öffnen. sowas muss es doch auch geben, um die inputbuffer anderer programme zu öffnen.


greets numi
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:28 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