使用WM_GETTEXT

时间:2016-02-07 02:44:40

标签: delphi winapi pascal win32gui delphi-10-seattle

我正在尝试从终端窗口获取文本。

https://www.attachmate.com/products/extra/

如下所示:

enter image description here

我正在使用WM_GETTEXT从此终端窗口获取文本。如上所示,窗口有文本(绿色),但即使在此应用程序下尝试所有窗口和子窗口后,我也无法获得任何内容。

我使用的代码是:

function TForm1.fn_get_text(): string;
var
  NpWnd, NpEdit: HWnd;
  Buffer: string;
  BufLen: Integer;
begin

  Memo1.Clear;
  NpWnd := FindWindow('#32769', nil);
  if NpWnd <> 0 then
  begin
     //NpEdit := FindWindowEx(NpWnd, 0, 'Afx:400000:202b:10003:6:0', nil);
     //if NpEdit <> 0 then
     //begin
        BufLen := SendMessage(NpWnd, WM_GETTEXTLENGTH, 0, 0);
        SetLength(Buffer, BufLen + 1);
        SendMessage(NpWnd, WM_GETTEXT, BufLen, LParam(PChar(Buffer)));
        Memo1.Lines.Text := Buffer;
     //end;
  end;
end;

我使用Winspy ++来获取所有窗口类。在Win spy ++中,不同的窗口类如下所示:

enter image description here

我在Extra.exe下尝试了所有窗口类。但似乎没有什么能够从终端窗口获取文本。有谁可以请我提供一些识别问题的技巧?

0 个答案:

没有答案