有一程序,例如名字叫"窗口档案",里面有两个edit文本框。
我用spy++查看 两edit分别是
001F021E '' TEdit 可见
001C0236 '' TEdit 可见那么var hw:hWnd;
begin
hw:= findwindow(nil,'商品档案');
if hw<>0 then begin
hw:=findwindowex(hw,0,PChar('TEdit'),nil);//这一行怎么利用spy++查看到的内容对"窗口档案"发信息
sendmessage(hw,wm_settext,0,longint(pchar('test')));
end;
end;
如上所示,如何对指定的edit发送,还有如何接收信息(我不知道格式)
我对消息处理不太了解,麻烦给出代码。谢谢!
我用spy++查看 两edit分别是
001F021E '' TEdit 可见
001C0236 '' TEdit 可见那么var hw:hWnd;
begin
hw:= findwindow(nil,'商品档案');
if hw<>0 then begin
hw:=findwindowex(hw,0,PChar('TEdit'),nil);//这一行怎么利用spy++查看到的内容对"窗口档案"发信息
sendmessage(hw,wm_settext,0,longint(pchar('test')));
end;
end;
如上所示,如何对指定的edit发送,还有如何接收信息(我不知道格式)
我对消息处理不太了解,麻烦给出代码。谢谢!
001C0236 '' TEdit 可见例如这一行hw:=findwindowex(hw,0,PChar('TEdit'),nil);//能否利用上面spy++得到的内容,而不是找手柄!谢谢
是因为我听各位大哥说用spy++可找出里面各控件的句柄
hw:= findwindow(nil,'商品档案');
hw:=findwindowex(hw,0,PChar('TEdit'),nil);
你这么使用前必须确定这个‘商品档案’窗口就是TEdit窗口的parent,如果不是,你找到的hw就不对。
举个例子:比如这‘商品档案’和‘TEdit’两个窗口之间还有个panel,
那么你就要
hw:= findwindow(nil,'商品档案');
hw:=findwindowex(hw,0,PChar('TPanel'),nil);
hw:=findwindowex(hw,0,PChar('TEdit'),nil);
明白了没有啊?所以让你用Spy++查看一下各个窗口的关系,
或者把你取到的hw show出来看看和spy里面显示的句柄是否一致!
这时hw:=findwindowex(hw,0,PChar('TEdit'),nil);
是时要取edit1的句柄是否
hw:=findwindowex(hw,0,PChar('TEdit'),'edit1');
而要取edit2的句柄是否
hw:=findwindowex(hw,0,PChar('TEdit'),'edit2');但问题是我把edit1和edit2的text中的内容删除后,用上面的方法就失效了。所以我用spy++想直接查看句柄。
但我不知查到的内容
001F021E '' TEdit 可见
001C0236 '' TEdit 可见
怎么应用。就假设两个edit的你窗口为“窗口档案”
是否001F021E与001C0236就是两个edit的句柄,如果是应该怎么应用
hw:=findwindowex(hw,0,PChar('TEdit'),'001F021E');//好像不能这样吧,我就不懂要怎么应用
应该怎么应用..谢谢1
明白了~谢谢您了~回家加您....