0

アプリケーションのすべてのクリックを記録するログ システム (アプリケーションの「外部」) を作成しています。マウスからのクリックを検出する機能をセットアップしましたPreFilterMessageが、クリックされたコントロール/要素が見つかりません。

試してみましMouse.DirectlyOverたが、要素は常にnullです。私も試してみましたが、検索するためのVisualTreeHelper.HitTestがありません。Visual

私はアプリケーションの内部にアクセスすることはできません: Main メソッド (Application.Run(new MainForm());および myを使用Application.AddMessageFilter(new Logger());) にのみアクセスします。

アプリケーション (.Net 3.5) でクリックされたコントロールを取得する方法について、誰かがアイデア (または散歩) を持っていますか?

4

1 に答える 1

3

私はしばらくの間、Snoop と呼ばれる驚くべき小さなアプリケーションを使用してきました。これはまさにあなたが求めていることを実行すると思います。これはオープン ソース (C#) であり、その仕組みを知ることができれば役立つかもしれません。(すべての WPF 開発者はこれを取得する必要があります。いいえ、私は Snoop で作業していません 笑)

http://snoopwpf.codeplex.com/

于 2012-06-13T14:00:54.730 に答える