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)设置为什么?我想它与源代码管理中的文本数量有什么不同?
在处理相当大量的文本时,您建议将其设置为什么?
有没有办法做同样的事情(从句柄中获取文本)而不必设置大小等等?
答案 0 :(得分:7)
您应该使用WM_GETTEXTLENGTH
读取大小并使用缓冲区的值。