发送消息到另一个文本框应用程序

时间:2018-07-03 06:22:53

标签: c# sendmessage spy++

我尝试将消息从一个应用程序发送到另一个应用程序。

我认为代码可以正常运行,不是问题所在,但是文本发送到错误的文本框吗?我看着Spy ++,在应用程序2中有两个文本框,但是对于这两个文本框,我从Spy ++返回相同的类--->“ WindowsForms10.EDIT.app.0.141b42a_r13_ad1” ...

我的主要问题是,为什么两个文本框都具有相同的“类”,我该如何解决?

Integer.MAX_VALUE - 2

//工作人员...

    private const int WM_SETTEXT = 0x000C;
    [DllImport("user32.dll")]
    private static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
    [DllImport("User32.dll")]
    private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindows);
    [DllImport("User32.dll")]
    private static extern Int32 SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, StringBuilder lParam);

    private void button4_Click(object sender, EventArgs e)
    {
        IntPtr hWnd = FindWindow(null, "Form1");
        if (!hWnd.Equals(IntPtr.Zero))
        {
            IntPtr edithWnd = FindWindowEx(hWnd, IntPtr.Zero, "WindowsForms10.EDIT.app.0.141b42a_r13_ad1", null);
            if (!edithWnd.Equals(IntPtr.Zero))
            SendMessage(edithWnd, WM_SETTEXT, IntPtr.Zero, new StringBuilder("Hello World!"));
        }
    }

0 个答案:

没有答案