Fórum Ajuda WM_LBUTTONDOWN com coordenadas #597395
25/09/2018
0
Eu estou tentando desenvolver um programa que simula um clique no paint, porém, ele não esta efetuando esse clique na coordenada que eu pego. Se alguém puder me ajudar. Obrigado.
Segue abaixo o código.
unit uBot;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TForm2 = class(TForm)
Timer1: TTimer;
Label2: TLabel;
Button1: TButton;
btn1: TButton;
Label1: TLabel;
Label3: TLabel;
btn2: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure btn1KeyPress(Sender: TObject; var Key: Char);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
p: Tpoint;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
begin
getcursorpos(p);
label1.Caption:= IntToStr(p.x) + ',' + IntToStr(p.y);
end;
procedure TForm2.btn1KeyPress(Sender: TObject; var Key: Char);
var
ponto: Tpoint;
begin
if Key = #13 then
btn1.Click;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
var
rPos: TPoint;
begin
end;
procedure TForm2.Button1Click(Sender: TObject);
var
teste: HWND;
begin
teste:= FindWindow(nil,'Sem título - Paint');
if teste <> 0 then
PostMessage(teste, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(p.x,p.y));
PostMessage(teste, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(p.x,p.y));
end;
end.
Segue abaixo o código.
unit uBot;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TForm2 = class(TForm)
Timer1: TTimer;
Label2: TLabel;
Button1: TButton;
btn1: TButton;
Label1: TLabel;
Label3: TLabel;
btn2: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure btn1KeyPress(Sender: TObject; var Key: Char);
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
p: Tpoint;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
begin
getcursorpos(p);
label1.Caption:= IntToStr(p.x) + ',' + IntToStr(p.y);
end;
procedure TForm2.btn1KeyPress(Sender: TObject; var Key: Char);
var
ponto: Tpoint;
begin
if Key = #13 then
btn1.Click;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
var
rPos: TPoint;
begin
end;
procedure TForm2.Button1Click(Sender: TObject);
var
teste: HWND;
begin
teste:= FindWindow(nil,'Sem título - Paint');
if teste <> 0 then
PostMessage(teste, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(p.x,p.y));
PostMessage(teste, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(p.x,p.y));
end;
end.
Vinicius
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)