Winform Form Class에서는 윈도우 프로시져를 오버라이드 할 수 있게 제공해주지만

 

WPF Window Class에는 제공해주지 않고 있습니다.

 

아래의 코드와 같이 하시면 윈도우 프로시져를 확인 하실 수 있습니다.

 

 

 

        [DllImport("user32.dll")]

        static extern IntPtr SetClipboardViewer(IntPtr hWndNewViewer);

        private const int WM_DRAWCLIPBOARD = 0x308;

        private const int WM_CHANGECBCHAIN = 0x30D;

 

        void OnLoaded(object sender, RoutedEventArgs e)

        {           

            HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle);

            source.AddHook(new HwndSourceHook(WndProc));

 

 

            IntPtr mNextClipBoardViewerHWnd = SetClipboardViewer(new System.Windows.Interop.WindowInteropHelper(this).Handle);

        }

 

 

 

 

 

 

 

+ Recent posts