Author: Tomas Rutkauskas Send a VK_BACK keystroke to a TRichEdit Answer: 1 procedure SendKey(H: Hwnd; Key: char); 2 var 3 vKey, ScanCode: Word; 4 lParam, ConvKey: Longint; 5 begin 6 ConvKey := OemKeyScan(Ord(Key)); 7 ScanCode := ConvKey and $000000FF or $FF00; 8 vKey := Ord(Key); 9 lParam := LongInt(ScanCode) shl 16 or 1; 10 SendMessage(H, WM_KEYDOWN, vKey, lParam); 11 SendMessage(H, WM_CHAR, vKey, lParam); 12 lParam := lParam or $C0000000; 13 SendMessage(H, WM_KEYUP, vKey, lParam); 14 end; 15 16 //Used like this: 17 18 SendKey(Richedit1.Handle, #8);