0
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;
我只是想知道 - 我通常應該設置大小(目前512),以什麼時候使用WM_GETTEXT?我猜這不同於源代碼控制中有多少文本?使用WM_GETTEXT - 要設置大小?
當處理相當大量的文本時,您建議如何設置它?
有沒有辦法做到這一點(從句柄獲取文本),而不必設置大小等?
謝謝!我應該想到這一點!我應該加1嗎?我相信我看到有人這樣做 – Jeff 2011-04-27 18:57:08
MSDN爲WM_GETTEXTLENGTH聲明:返回值是字符中文本的長度,不包括終止空字符。 對於WM_GETTEXT MSDN指出:要複製的最大字符數,包括終止空字符。 所以是的,你應該加上1. – Remko 2011-04-27 19:11:35
@Jeff:如果是你的問題的答案,你可以接受答案;-) – 2011-04-27 19:17:23