Holen Sie sich Text aus einer anderen Anwendung

Ich möchte Text aus einer Textbox in einer anderen Anwendung abrufen. ProcessName aus der zweiten Anwendung ist 'TestTextBox', der Name von TextBox ist 'textBox1'.

Mein Code, der eine leere Zeichenfolge zurückgibt:

[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());
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage