Если вы хотите отслеживать сообщение в окне, вы можете использовать метод HwndSource.AddHook. В следующем примере показано, как использовать метод Hwnd.AddHook. Если вы хотите отслеживать сообщение области приложения, вы можете попробовать использовать класс ComponentDispatcher.
private void Button_Click(object sender, RoutedEventArgs e)
{
Window wnd = new Window();
wnd.Loaded += delegate
{
HwndSource source = (HwndSource)PresentationSource.FromDependencyObject(wnd);
source.AddHook(WindowProc);
};
wnd.Show();
}
private static IntPtr WindowProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
}