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?