如何查找WinForms应用程序已被鼠标单击

时间:2012-07-08 14:49:40

标签: c# winforms hotkeys

WinForms应用程序在单击热键(ctrl +鼠标右键单击)后从鼠标位置捕获单词。

热键监控在第三方组件中运行。

热键按下组件后,单击控制hwnd参数和鼠标位置引发事件。

如何判断热键是否点击该应用程序?

有必要知道,因为当应用程序被捕获单词的某个窗口隐藏时,它将显示在前面,如果覆盖单词则更改位置。

2 个答案:

答案 0 :(得分:1)

在热键处理后,第三方组件通过单击控件hwnd参数和鼠标位置引发事件。

要知道包含控件的应用程序的根窗口,可以使用 GetAncestor 函数:http://msdn.microsoft.com/en-us/library/windows/desktop/ms633502(v=vs.85).aspx

因此,要知道我们的应用程序是否已被点击,我们可以比较它的hwnd和找到的hwnd。

答案 1 :(得分:0)

您需要使用Windows Hooks API才能在操作系统中获取Windows消息,以及是否针对您的应用程序。