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;

私はちょうど疑問に思っています - WM_GETTEXT を使用する場合、通常はサイズ (現在は 512) をどのように設定すればよいですか? ソース管理にどれだけのテキストがあるかによって異なるのでしょうか。

かなり大量のテキストを扱う場合、どのように設定することをお勧めしますか?

サイズなどを設定せずに同じことを行う方法(ハンドルからテキストを取得する)はありますか?

4

1 に答える 1

7

でサイズを読み取り、WM_GETTEXTLENGTHバッファの値を使用する必要があります。

于 2011-04-27T18:55:29.753 に答える