------------------------------------------------------------
fwnd:=FindWindow('TForm',nil); 找到了exe1中的一个窗体
wnd2:=findwindowex(fwnd,0,'TPanel',nil) ; 找了了窗体上的Panel
wnd2:=findwindowex(wnd2,0,'TEdit',nil) ; 找到了Panel上的一个EDIT
其它的呢???----------------------------------------------------------
现在的问题是Panel上有多个EDIT(EDIT1,EDIT2,EDIT3......)
请问如何找到他们并分别给他们赋值.
fwnd:=FindWindow('TForm',nil); 找到了exe1中的一个窗体
wnd2:=findwindowex(fwnd,0,'TPanel',nil) ; 找了了窗体上的Panel
wnd2:=findwindowex(wnd2,0,'TEdit',nil) ; 找到了Panel上的一个EDIT
其它的呢???----------------------------------------------------------
现在的问题是Panel上有多个EDIT(EDIT1,EDIT2,EDIT3......)
请问如何找到他们并分别给他们赋值.
GetClassName(h,buf,256);
if String(buf) = 'TEdit' then
begin
sendmessage(h,WM_GETTEXT,256,LPARAM(@buf));
showmessage(buf);
end;
t:TWinControl;
begin
h:=?
t:=FindControl(h);
if t.Name='Edit1' then
begin
TEdit(t).text:='thist Edit1';
end;
end;
假如exe1中有edit1,edit2,edit3,edit4,edit5但是我们现在不知道他们的具体名称是什么,啊!
我现在就是要分别去这5个edit的名称啊!
procedure TForm1.Button1Click(Sender: TObject);
var
h: HWND;
buf: array[0..256] of char;
begin
h:= form1.Handle;
h:= findwindowex(h,0,'TEdit',nil);
GetClassName(h,buf,256);
if String(buf) = 'TEdit' then
begin
showmessage(TEdit(findcontrol(h)).Name);
end;
h:= windows.GetNextWindow(h,GW_HWNDNEXT);
GetClassName(h,buf,256);
if String(buf) = 'TEdit' then
begin
showmessage(TEdit(findcontrol(h)).Name);
end;
end;