使用WM_GETTEXT - 设置大小的内容是什么?

时间:2011-04-27 18:45:30

标签: delphi size window-handles arrays

Var
 PText : array[0..512] of Char;
 Handle, Child : HWND;
begin
 FillChar(PText,512,0);
 Handle := FindWindow('Notepad',nil);
 Child := FindWindowEx(Handle,0,'Edit',nil);

 Caption := IntToStr(Handle)+' - '+IntToStr(Child);

 SendMessage(Child,WM_GETTEXT,512,Integer(@PText[0]));

 ShowMessage(PText);

end;

我只是想知道 - 在使用WM_GETTEXT时,我通常应该将大小(目前为512)设置为什么?我想它与源代码管理中的文本数量有什么不同?

在处理相当大量的文本时,您建议将其设置为什么?

有没有办法做同样的事情(从句柄中获取文本)而不必设置大小等等?

1 个答案:

答案 0 :(得分:7)

您应该使用WM_GETTEXTLENGTH读取大小并使用缓冲区的值。