a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

在C#中使用鉤子來處理消息的方法

2023-05-17 11:41:58
字體:
來源:轉載
供稿:網友

本文講解了在C#中使用鉤子技術處理消息的方法。

1、聲明鉤子函數代理:

public   delegate   IntPtr   HookProc(int   nCode,   IntPtr   wParam,   IntPtr   lParam); 

2、聲明API函數:

[DllImport("user32.dll",   CharSet=CharSet.Auto)]
        public   static   extern   IntPtr   SetWindowsHookEx(int   hookid,   HookProc   pfnhook,   IntPtr   hinst,   int   threadid); 

[DllImport("user32.dll",   CharSet=CharSet.Auto,   ExactSpelling=true)]      
        public   static   extern   bool   UnhookWindowsHookEx(IntPtr   hhook);

[DllImport("user32.dll",   CharSet=CharSet.Auto,   ExactSpelling=true)]      
        public   static   extern   IntPtr   CallNextHookEx(IntPtr   hhook,   int   code,   IntPtr   wparam,   IntPtr   lparam);

[DllImport("kernel32.dll",   ExactSpelling=true,   CharSet=CharSet.Auto)]      
        public   static   extern   int   GetCurrentThreadId();

public   const   int   WH_MSGFILTER   =   -1;

3、寫你自己的HookProc代理實現方法,如MyHookProc

public   IntPtr   MyHookProc(int   nCode,   IntPtr   wParam,   IntPtr   lParam)       
        {      
              //...你的代碼       
              return   CallNextHookEx(iHookHandle,   code,   wparam,   lparam);       
        }

4、為你的類聲明一個Hook   Handle和非托管的鉤子線程地址:

private   IntPtr   _iHookHandle=IntPtr.Zero;
        private   GCHandle   _hookProcHandle;

5、在合適的地方安裝你的鉤子

HookProc   hookProc   =   new   HookProc(MyHookProc);
        _hookProcHandle   =   GCHandle.Alloc(hookProc);
        iHookHandle   =   SetWindowsHookEx(WH_MSGFILTER,   hookProc,  IntPtr.Zero,   .GetCurrentThreadId());
        if   (iHookHandle   ==   IntPtr.Zero)   throw   new   System.Exception("沒有足夠權限安裝鉤子!");

6、在合適的地方卸載你的鉤子

if   (iHookHandle!=IntPtr.Zero)
           UnhookWindowsHookEx(iHookHandle); 
         _hookProcHandle.Free();
         iHookHandle   =   IntPtr.Zero;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蜜桃视频网站在线观看 | 91国内外精品自在线播放 | 日本一区二区成人 | www国产高清| 在线免费观看色视频 | 欧美成人精品一区二区男人看 | 亚洲狠狠爱 | 国产有码 | 国产精品美女久久久久aⅴ国产馆 | 奇米影视首页 | 日产精品久久久一区二区 | 中文天堂在线观看视频 | 欧美日韩成人影院 | 亚洲欧美日韩天堂 | 在线精品自拍 | 国产免费一区二区 | 色播久久久 | 国产亚洲成av人片在线观看桃 | 亚洲电影免费 | 无遮挡又黄又刺激的视频 | 国产一区二区精品 | 国产在线观看91一区二区三区 | 日韩欧美一区二区三区视频 | 欧美日韩一区二区三区不卡视频 | 亚洲伊人影院 | 亚洲国产精品久久久久久 | 一区二区三区四区在线 | 国产伦精品一区二区三区高清 | 国产精品久久久久久久久久久久久久 | 久久成人免费网站 | 91社区在线高清 | 欧美a区 | 天天射影院 | 91精品视频一区 | 国产高清精品一区二区三区 | 在线视频 中文字幕 | 北条麻妃一区二区在线 | 日韩精品一区二区三区中文在线 | 国产精品二区一区二区aⅴ污介绍 | 91伊人| 亚洲电影一区二区三区 |