Фильтрация сообщений в приложении WPF - PullRequest
1 голос
/ 25 июля 2010

Windows Forms имеют интерфейс IMessageFilter для захвата сообщений. Как это делается в WPF? В частности, я хочу создать слушатель формата буфера обмена.

1 Ответ

3 голосов
/ 25 июля 2010

В вашем Окне выведен класс:

    protected override void OnSourceInitialized(EventArgs e)
    {
        base.OnSourceInitialized(e);
        ((HwndSource)PresentationSource.FromVisual(this)).AddHook(myHook)
    }

    private IntPtr myHook(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
    {
        switch (msg)
        {
            // process messages here
            default:
                return IntPtr.Zero;
        }
    }
...