내가 응용 프로그램의 모든 클릭을 기록 로그 시스템 ('외부'응용 프로그램)을 만드는거야를 수정하지 않고 마우스 아래의 컨트롤을 찾을 수 있습니다. 마우스에서 클릭을 감지하는 PreFilterMessage
기능을 설정했지만 클릭 한 컨트롤/요소를 찾을 수 없습니다.WPF 응용 프로그램
나는 Mouse.DirectlyOver
와 시도했지만 요소는 항상 null
입니다. 나는 VisualTreeHelper.HitTest
도 시도했지만 검색을 위해 Visual
이 없습니다.
메인 메서드 (Application.Run(new MainForm());
및 Application.AddMessageFilter(new Logger());
)에만 액세스 할 수 있습니다. 응용 프로그램 내부에 액세스 할 수 없습니다.
누구든지 응용 프로그램 (.Net 3.5)에서 클릭 된 컨트롤을 얻는 방법에 대한 아이디어가 있거나 주위를 산책하고 있습니까?
스눕는 VisualTreeHelper.HitTest' 및'을 사용할 수 있도록의 스누핑 과정에 자신의 어셈블리를 주입하여 작동합니다 (롤 모든 WPF 개발자는이를 받아야없이 나는 스눕 작동하지 않습니다). 나는 그것이 좋은 출발점이라고 생각한다. –