Global Event Filter in WinForm App of C#

Application

System.Windows.Forms.Application;

Global Event Filter

public class GlobalEventFilter : IMessageFilter{
        public bool PreFilterMessage(ref Message m){
                return false; // not filter
        }
}

GlobalEventFilter globalFilter = new GlobalEventFilter();
Application.AddMessageFilter(globalFilter);

Some Example

Listen to Global Mouse Move Event

class GlobalMouseMoveHandler : IMessageFilter
    {
        private const int WM_MOUSEMOVE = 0x200;
        public bool PreFilterMessage(ref Message m)
        {
            if (m.Msg == WM_MOUSEMOVE)
            {
                Console.WriteLine("mouse move");
            }
            return false;
        }
    }

Filter Keydown Event

TBD

Some Common Use Event Key List

WM_MOUSEMOVE=0x0200
WM_LBUTTONDOWN=0x0201
WM_LBUTTONUP=0x0202
WM_LBUTTONDBLCLK=0x0203

Reference

All Event Keys List

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容