Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Tastaursimulation + Windows.pas

  Alt 21. Apr 2005, 13:20
Das waere nicht noetig gewesen. Die VK_ Codes fuer 'A'..'Z' und '0'..'9' entsprechen dem ASCII-Wert. VK_A ist also Ord('A').

Nicht vergessen die Taste wieder loszulassen:
Delphi-Quellcode:
  keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), 0, 0);
  keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), KEYEVENTF_KEYUP, 0);
Jetzt mal ein 'a':
Delphi-Quellcode:
  keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0);
  keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), 0, 0);
  keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), KEYEVENTF_KEYUP, 0);
  keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP, 0);
Jetzt mal ein Alt-Tab:
Delphi-Quellcode:
  keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), 0, 0);
  keybd_event(VK_TAB, MapVirtualKey(VK_TAB, 0), 0, 0);
  keybd_event(VK_TAB, MapVirtualKey(VK_TAB, 0), KEYEVENTF_KEYUP, 0);
  keybd_event(VK_MENU, MapVirtualKey(VK_MENU, 0), KEYEVENTF_KEYUP, 0);
Die Vermutung das es ein Ü ueberhaupt gibt ist natuerlich falsch.
Die Tastaturverarbeitung sollte man an den Scancodes aufhaengen und nicht an den VK_ Codes.
Die Tastatur liefert naemlich sprachunabhaengige Scancodes und die Umwandlung in lokalisierte Zeichen erfolgt mit ToAscii().
Die Umwandlung ist nicht trivial!
  Mit Zitat antworten Zitat