注册 登录
编程论坛 Delphi论坛

WM_GETTEXT 有长度限制吗?

waxfdx 发布于 2006-11-19 23:08, 2059 次点击
procedure TForm1.Button1Click(Sender: TObject);
begin
hwnd1:=FindWindow('ThunderRT6FormDC','888'); //判断程序是否运行 888为标题
hwnd2:=FindWindowEx(hwnd1,0,'TEdit,0); //TEdit为控件
if hwnd2<>0 then
begin
temp:=FindWindowEx(hwnd1,0,'TEdit',0);
sendmessage(temp,WM_GETTEXT,100,integer(name));
showmessage(name);
end;
end;
我简单的写了个标题为888的程序,里面有TEdit文本控件 内容为12345678 但是用上面的代码只能获取到123456 不管是数字还是英文都只能是6位,第7位以后都获取不到,这是为什么???
1 回复
#2
LEAN2006-12-08 14:32
var
lLen: Integer;
lBuf: PChar;
begin
lBuf:= nil;
lLen:= 100;
GetMem(lBuf, lLen);
try
SendMessage(temp, WM_GETTEXT, lLen, lBuf);
ShowMessage(lBuf);
finally
FreeMem(lBuf);
end;
end;
你换成这样试验一下。
1