...
implementation
var
gCoord : TPoint = (X:-1; Y:-1);
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := True;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F1 then
gCoord := ClientToScreen(Mouse.CursorPos)
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ti: array [0..1] of TInput;
p : TPoint;
begin
if (gCoord.X <> -1) and (gCoord.Y<>-1) then
begin
p := ScreenToClient(gCoord);
SetCursorPos(p.X, p.Y);
ZeroMemory(@ti, SizeOf(ti));
ti[0].mi.dwFlags := MOUSEEVENTF_LEFTDOWN;
ti[0].Itype := INPUT_MOUSE;
ti[1].mi.dwFlags := MOUSEEVENTF_LEFTUP;
ti[1].Itype := INPUT_MOUSE;
SendInput(2, ti[0], SizeOf(TInput));
end;
end;