Использование WM_GETTEXT - что установить размер?
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? Я думаю, это отличается от того, сколько текста есть в системе контроля версий?
Что вы порекомендуете установить при работе с довольно большими объемами текста?
Есть ли способ сделать то же самое (получение текста из ручки) без необходимости устанавливать размеры и тому подобное?
1 ответ
Решение
Вы должны прочитать размер с WM_GETTEXTLENGTH
и используйте значение для буфера.