C#中的PostMessage()将WM_LBUTTONDOWN消息发送到annothor applycation它不起作用

时间:2014-01-14 16:30:31

标签: c# sendmessage postmessage

        IntPtr windowHandle = FindWindow(null,"Wpf");
        PostMessage(windowHandle, WM_LBUTTONDOWN, 1, (280 << 16) | 280);
        PostMessage(windowHandle, WM_LBUTTONUP, 0, (280 << 16) | 280);
        const int WM_LBUTTONDOWN = 0x0201;
        const int WM_LBUTTONUP = 0x0202;

另一个应用

    public void ReceiveOneStone(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("HIT ME");
    }

    Stone = new Ellipse();
    Stone.MouseLeftButtonDown += ReceiveOneStone

我已经检查过Handle是否正确。

并使用spy ++找到其他应用程序收到完全相同的WM_LBUTTONDOWN和WM_LBUTTONUP消息,因为我使用鼠标点击pos来获取。

但是当我使用PostMessage时,应用程序没有响应。

PS:我使用了mouse_event来实现真正的鼠标点击效果。

但是当所需的窗口被其他窗口阻挡时,它无效。(重叠)

我尝试过另一种方式,让鼠标停留在欲望窗口,然后按ENTER键使我以前的应用程序发送WM_LBUTTONDOWN消息并且工作正常。

我是否应该发送任何其他信息以实现目标。

有人会教我如何使用SendMessage或PostMessage来实现目标

0 个答案:

没有答案