我正在创建一个日志系统(在应用程序外部),记录应用程序上的所有点击。我设置了一个PreFilterMessage
函数,它可以检测到鼠标点击,但是我找不到被点击的控件/元素。
我尝试使用Mouse.DirectlyOver
但元素始终为null
。
我也尝试使用VisualTreeHelper.HitTest
,但我没有Visual
来进行搜索。
我无法访问应用程序内部:只能访问Main方法(使用Application.Run(new MainForm());
和Application.AddMessageFilter(new Logger());
)。
有没有人对如何获取应用程序中的点击控件(在.Net 3.5中)有想法(或四处走动)?
答案 0 :(得分:3)
我一直在使用一个名为Snoop的神奇小应用程序已经有一段时间了,我认为这正是你所追求的,它是开源的(C#),如果你能找到它是如何工作的,可能会对你有用。 (所有WPF开发人员都应该得到这个,不,我不会使用Snoop lol)