小弟在写一个控制程序,即A程序控制B程序,首先遍历B程序所有的控件,然后往相应的控件里面写入自定义内容。
问题是:
1. 通过SendMessage发送要修改的内容,需要知道这个控件的handle,但是如果B程序里面有多个相同类的控件,比如多个Edit,怎么区分向不同的Edit写入内容
2. 我想把控件对应的字段保存,等下一次启动B程序的时候,进行自动填充,问题是,每启动一次程序,Handle值都在变化,怎么能够做到保存一次配置就可以一劳永逸
3. 发现用delphi写的程序,遍历出空间来,ClassName都是比较熟悉的比如Tedit等等,但是如果遍历C++的程序,遍历出来的控件的ClassName发现很陌生
请各位前辈不吝指教。我的qq:54740980
问题是:
1. 通过SendMessage发送要修改的内容,需要知道这个控件的handle,但是如果B程序里面有多个相同类的控件,比如多个Edit,怎么区分向不同的Edit写入内容
2. 我想把控件对应的字段保存,等下一次启动B程序的时候,进行自动填充,问题是,每启动一次程序,Handle值都在变化,怎么能够做到保存一次配置就可以一劳永逸
3. 发现用delphi写的程序,遍历出空间来,ClassName都是比较熟悉的比如Tedit等等,但是如果遍历C++的程序,遍历出来的控件的ClassName发现很陌生
请各位前辈不吝指教。我的qq:54740980
用外也可用GetWindowText2、通过进程ID得到EXE文件路径,路径一般是不变的
如果路径也是变化的,还可以结合窗口标题判断3、MFC和VCL类库有些名字是不一样的
"继承"可以做到这个的例如,你运行下面代码看一下MyEdit的类名
type
TMyEdit = class(TEdit)
end;var
E : TMyEdit;procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(E) then E := TMyEdit.Create(Self);
E.Parent := Self;
E.Top := 100;
E.Left := 100;
E.Text := 'MyEdit';
E.Show;
end;