Эмулирование мыши/клавиатуры, Через SendInput()
Материал из DRKB
Эмулирование мыши/клавиатуры, Через SendInput()[править | править код]
procedure TForm1.Button1Click(Sender: TObject);
var
TI: TInput;
MI: TMouseInput;
P: TPoint;
begin
GetCursorPos(P);
MI.dx := P.X;
MI.dy := P.Y;
MI.mouseData := 0;
MI.dwFlags := MOUSEEVENTF_RIGHTDOWN ;
MI.time := 10;
TI.mi := MI;
TI.Itype := INPUT_MOUSE;
SendInput(1, TI, SizeOf(TInput));
MI.dwFlags := MOUSEEVENTF_RIGHTUP;
TI.mi := MI;
SendInput(1, TI, SizeOf(TInput));
end;
procedure TForm1.Button1Click(Sender: TObject);
const
SomeText = 'SendInput test.';
var
TI: TInput;
KI: TKeybdInput;
I: Integer;
begin
Edit1.SetFocus;
TI.Itype := INPUT_KEYBOARD;
for I := 1 to Length(SomeText) do
begin
KI.wVk := Ord(UpCase(SomeText[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;
Author: Rouse_
Source: Взято из http://forum.sources.ru
ID: 01613