Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.465 Beiträge
 
Delphi 10.4 Sydney
 
#1

Tastendrücke simuliern, abhängig von Betriebssystemversion?

  Alt 11. Jun 2006, 17:35
Ich verwende folgenden Code, um eine Zeichenfolge zu senden:

Delphi-Quellcode:
for i := 1 to Length(S) do
begin
  bUpCase := (S[i] in ['A'..'Z']);
  if bUpCase then
    keybd_event(VK_SHIFT, 0, 0, 0); //press (Umschalt-Taste)
  keybd_event(Ord(UpCase(S[i])), 0, 0, 0); //press (Zeichentaste)
  keybd_event(Ord(UpCase(S[i])), 0, KEYEVENTF_KEYUP, 0); //release (Zeichentaste)
  if bUpCase then
    keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0); //release (Umschalt-Taste)
end;
Die Delphi 2006 Hilfe behauptet:

"Windows NT/2000/XP: This function has been superseded. Use SendInput instead."

Trotzdem funktioniert dieser Code in Windows XP. Ist es ratsam, zwischen Betriebssystem-Versionen zu unterscheiden und in Windows NT/2000/XP stattdessen SendInput zu verwenden?
  Mit Zitat antworten Zitat