Код ниже иногда работает: он вставляет текст из tEdit
, но только в «Блокнот», «Слово», «ICQ». Такие программы, как Firefox или Google Chrome, не работают с ним.
Что мне делать?
var
Pos: TPoint;
Target: HWND;
...
if not GetCursorPos(Pos) then
RaiseLastOSError;
Target := WindowFromPoint(Pos);
if Target<>0 then
SendMessage(Target, EM_REPLACESEL, ord(True), LPARAM(PChar(Edit1.Text)));
Вот и все! Я нашел нужный мне код
procedure SendText(ds:string);
var
TI: TInput;
KI: TKeybdInput;
i: integer;
begin
TI.Itype := INPUT_KEYBOARD;
for i := 1 to Length(ds) do
begin
KI.wVk := Ord(UpCase(ds[i]));
KI.dwFlags := 0;
TI.ki := KI;
SendInput(1, TI, SizeOf(TI));
KI.dwFlags := KEYEVENTF_KEYUP;
TI.ki := KI;
SendInput(1, TI, SizeOf(TI));
end;
end;
Но проблема в том, что я не могу скопировать русские (кириллические) символы с помощью SendInpit (Edit1.Text); Какие-либо предложения?