■ HwndSource 클래스 : AddHook 메소드를 사용해 윈도우 이벤트 가로채기

------------------------------------------------------------------------------------------------------------------------


TestProject.zip


MainWindow.xaml.cs

 

 

using System;

using System.Windows;

using System.Windows.Interop;

 

namespace TestProject

{

    /// <summary>

    /// 메인 윈도우

    /// </summary>

    public partial class MainWindow : Window

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region 생성자 - MainWindow()

 

        /// <summary>

        /// 생성자

        /// </summary>

        public MainWindow()

        {

            InitializeComponent();

 

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

 

            source.AddHook(new HwndSourceHook(WndProc));

        }

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Private

 

        #region 윈도우 프로시저 처리하기 - WndProc(windowHandle, message, wordParameter, longParameter, handled)

 

        /// <summary>

        /// 윈도우 프로시저 처리하기

        /// </summary>

        /// <param name="windowHandle">윈도우 핸들</param>

        /// <param name="message">메시지</param>

        /// <param name="wordParameter">WORD 매개 변수</param>

        /// <param name="longParameter">LONG 매개 변수</param>

        /// <param name="handled">처리 여부</param>

        /// <returns>처리 결과</returns>

        private IntPtr WndProc(IntPtr windowHandle, int message, IntPtr wordParameter, IntPtr longParameter, ref bool handled)

        {

            return IntPtr.Zero;

        }

 

        #endregion

    }

}

 

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요