Delphi如何通过已知句柄得到外部程序Edit的值? 急!

句柄已经知道,赋值没有问题,但取值不行,试过求教.曾经尝试:GetWindowTex,但此t函数不能返回在其他应用程序中的编辑控件的文本,本窗口可以。SendMessag... 句柄已经知道,赋值没有问题,但取值不行,试过求教.
曾经尝试:
GetWindowTex,但此t函数不能返回在其他应用程序中的编辑控件的文本,本窗口可以。
SendMessage(Handle, WM_GETTEXT,不会用.

这是赋值:
SendMessage(EditResult[0], WM_SETTEXT, 8, Integer(PChar('000061')));
// ShowMessage(inttostr(0)+': '+IntTostr(EditResult[0])+' '+IntToHex(EditResult[0], 8));
SendMessage(EditResult[1], WM_SETTEXT, 0, Integer(PChar('1'#0)));
SendMessage(EditResult[2], WM_SETTEXT, 8, Integer(PChar('100')));
展开
 我来答
veket的小号
2014-02-17 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3969万
展开全部
又是我来答你的问题啦
procedure TForm1.Button1Click(Sender: TObject);
var
h32770 : THandle;// spy4win 生成的语句
hEdit1: THandle;
buf:array [1..100] of Char;
begin
h32770 := FindWindow('#32770', 'VC6MFC测试程序'); //// spy4win 生成的语句
hEdit1 := GetDlgItem(h32770, $000003E8);
//SendMessage(hEdit1, WM_SETTEXT, 0, Integer(PChar('设置的文字')));
SendMessage(hEdit1, WM_GETTEXT, 100, Integer(@buf));
ShowMessage(buf);
end;
追问
活了半辈子,你算是我最佩服的女性了,好人一生平安,但我改了如下测试,却是乱码:
hEdit1 := GetDlgItem(Handle01, $0000013B);
{Handle01为我目标程序的父窗口句柄,而0000013B,是我用SPY++得到的16位控件ID}
追答
你确定你的目标程序 及其的控件是标准windows控件 还是 基于.net的  和.net扯上关系的不行的
必须是windows标准控件才行........
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式