Getting UI text from external app in C#

后端 未结 3 1241
小鲜肉
小鲜肉 2021-01-01 04:00

Is it possible to get UI text from an external application in C#.

In particular, is there a way to read Unicode text from a label (I assume it\'s a normal Windows l

3条回答
  •  抹茶落季
    2021-01-01 04:49

    You could do it if that unicode text is actually a window with a caption by sending a WM_GETTEXT message.

    [DllImport("user32.dll")]
    public static extern int SendMessage (IntPtr hWnd, int msg, int Param, System.Text.StringBuilder text);
    
    System.Text.StringBuilder text = new System.Text.StringBuilder(255) ;  // or length from call with GETTEXTLENGTH
    int RetVal = Win32.SendMessage( hWnd , WM_GETTEXT, text.Capacity, text);
    

    If it is just painted on the canvas you might have some luck if you know what framework the application uses. If it uses WinForms or Borland's VCL you could use that knowledge to get to the text.

提交回复
热议问题