Pobierz tekst z innej aplikacji

Chciałbym pobrać tekst z pola tekstowego w innej aplikacji. ProcessName z drugiej aplikacji to „TestTextBox”, nazwa TextBox to „textBox1”.

Mój kod, który zwraca pusty ciąg:

[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, long wParam, [MarshalAs(UnmanagedType.LPStr)] StringBuilder lParam);

Process[] processes = Process.GetProcessesByName("TestTextBox");
foreach (Process p in processes)
{
    IntPtr pFoundWindow = p.MainWindowHandle;
    const int WM_GETTEXT = 0x0D;
    StringBuilder sb = new StringBuilder();
    IntPtr retVal = SendMessage(pFoundWindow, WM_GETTEXT, 100, sb);
    MessageBox.Show(sb.ToString());
}

questionAnswers(4)

yourAnswerToTheQuestion