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'))); 展开
曾经尝试:
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'))); 展开
展开全部
又是我来答你的问题啦
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;
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标准控件才行........
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询