将MouseEvents从一个WPF应用程序转发到另一个WPF应用程序

时间:2017-08-23 13:23:09

标签: c# wpf winapi windows-messages

我想通过从另一个Windows应用程序转发它们来模拟一个WPF应用程序中的Mouseevents。 以下是我到目前为止所尝试的内容:在Windows窗体WndProc中覆盖NativeWindow以获取鼠标消息。

   [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
protected override void WndProc(ref Message m)
{
        var mUIApps = new UIApps(System.Diagnostics.Process.GetProcesses());
        var app = mUIApps.FirstOrDefault(x => x.Caption.StartsWith("WPF to Receive"));
        var mHwnd = app.HWnd;

        switch (m.Msg)
        {
            case WM_LBUTTONDOWN:
            case WM_LBUTTONUP:
            case WM_MOUSEMOVE:
                PostMessageSafe(new HandleRef(app, mHwnd), (uint)m.Msg, m.WParam, m.LParam);
                break;
        }
}

PostMessageSafe取自http://www.pinvoke.net/default.aspx/user32/PostMessage.html

这很好,但在另一个应用程序上没有收到任何鼠标事件。我在这里缺少什么?

0 个答案:

没有答案