我想操作一外部程序的文本输入框,有以下条件需要注意:
1、外部程序是用pb写的。
2、该外部程序上有许多文本输入框。
3、该外部程序上有许多文本输入框是空的。
4、只能操作其中一个文本输入框。
我已经写了一个操作外部程序的程序,但是她不满足上述条件,请高手指教!!附源码如下:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.Enabled:=false;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.Enabled:=false;
end;procedure TForm1.Timer1Timer(Sender: TObject);
var
H:HWND;
p:TPoint;
begin
GetcursorPos(P);
H:=WindowFromPoint(P);
//////////////////////////////////////
//此处判断该句柄是否是Tedit的句柄 and 是否是特定文本框的句柄
//////////////////////////////////////
SendMessage(H,WM_SETTEXT,0,Integer(edit1.Text));
end;end.
1、外部程序是用pb写的。
2、该外部程序上有许多文本输入框。
3、该外部程序上有许多文本输入框是空的。
4、只能操作其中一个文本输入框。
我已经写了一个操作外部程序的程序,但是她不满足上述条件,请高手指教!!附源码如下:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.Enabled:=false;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.Enabled:=false;
end;procedure TForm1.Timer1Timer(Sender: TObject);
var
H:HWND;
p:TPoint;
begin
GetcursorPos(P);
H:=WindowFromPoint(P);
//////////////////////////////////////
//此处判断该句柄是否是Tedit的句柄 and 是否是特定文本框的句柄
//////////////////////////////////////
SendMessage(H,WM_SETTEXT,0,Integer(edit1.Text));
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货