Использование WM_GETTEXT - что установить размер? - PullRequest
0 голосов
/ 27 апреля 2011
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 Ответ

7 голосов
/ 27 апреля 2011

Вы должны прочитать размер с помощью WM_GETTEXTLENGTH и использовать значение для буфера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...