WPF捕获鼠标单击我的应用程序之外

时间:2017-06-27 21:04:40

标签: c# wpf mouseevent

我正在将一个WinForms应用程序移植到WPF。作为现有功能的一部分,用户可以单击任何正在运行的Windows应用程序(包括我正在运行的WPF应用程序之外),它将捕获窗口句柄和鼠标坐标。这可能吗?

1 个答案:

答案 0 :(得分:-1)

是的,你可以使用WinApi global Hoocker实现鼠标和键盘

private readonly MouseHookListener m_MouseHookManager;

public Form1()
{
     InitializeComponent();
     m_MouseHookManager = new MouseHookListener(new GlobalHooker());
     m_MouseHookManager.Enabled = true;
     m_MouseHookManager.MouseClick += m_mouseHookListener_Coordinates;

}

private void m_mouseHookListener_Coordinates(object sender, MouseEventArgs e)
{
     MessageBox.Show(this,"Coordinate X:"+e.X +" Coordinate Y:"+e.Y,"Coordinates",MessageBoxButtons.OK,MessageBoxIcon.Information);
}

正在工作并经过我的测试

很抱歉这适用于Windows Form App