WPF在鼠标下找到控件而不修改应用程序

时间:2012-06-13 13:58:19

标签: c# .net wpf

我正在创建一个日志系统(在应用程序外部),记录应用程序上的所有点击。我设置了一个PreFilterMessage函数,它可以检测到鼠标点击,但是我找不到被点击的控件/元素。

我尝试使用Mouse.DirectlyOver但元素始终为null。 我也尝试使用VisualTreeHelper.HitTest,但我没有Visual来进行搜索。

我无法访问应用程序内部:只能访问Main方法(使用Application.Run(new MainForm());Application.AddMessageFilter(new Logger());)。

有没有人对如何获取应用程序中的点击控件(在.Net 3.5中)有想法(或四处走动)?

1 个答案:

答案 0 :(得分:3)

我一直在使用一个名为Snoop的神奇小应用程序已经有一段时间了,我认为这正是你所追求的,它是开源的(C#),如果你能找到它是如何工作的,可能会对你有用。 (所有WPF开发人员都应该得到这个,不,我不会使用Snoop lol)

http://snoopwpf.codeplex.com/