亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c# 鉤子學習筆記

2020-01-24 03:44:16
字體:
來源:轉載
供稿:網友
包括系統鉤子和線程鉤子,或者叫全局鉤子和私有鉤子。系統鉤子需要一個單獨的DLL,這個地方耽誤了不少時間,網上有說可以不用單獨DLL的。
現在開始貼代碼,代碼參照了紅黑聯盟中的一篇文章。
復制代碼 代碼如下:

public class SetHook
{
public class HookTypes
{
/// <summary>
/// 鉤子類型
/// </summary>
public enum HookType
{
WH_JOURNALRECORD = 0,//對寄送至消息隊列的輸入消息進行記錄
WH_GETMESSAGE = 3,//對寄送至消息隊列的消息進行監視
WH_JOURNALPLAYBACK = 1,//對此前由WH_JOURNALRECORD 掛鉤處理過程紀錄的消息進行寄送
WH_CALLWNDPROC = 4,//在系統將消息發送至目標窗口處理過程之前,對該消息進行監視
WH_CBT = 5,//接受對CBT應用程序有用的消息
WH_MSGFILTER = -1,//監視由對話框、消息框、菜單條、或滾動條中的輸入事件引發的消息
WH_SYSMSGFILTER = 6,//監視由對話框,消息框,菜單條,滾動條中的輸入事件引發的消息
//8
WH_DEBUG = 9,//對其他鉤子處理過程進行調試
WH_SHELL = 10,//接受對外殼應用程序有用的通知
WH_FOREGROUNDIDLE = 11,//當應用程序的前臺線程即將進入空閑狀態時被調用,它有助于在空閑時間內執行低優先級的任務
#region 鼠標和鍵盤事件
/// <summary>
/// 對擊鍵消息進行監視
/// </summary>
WH_KEYBOARD = 2,
/// <summary>
/// 只能在windows NT中被安裝,用來對底層的鍵盤輸入事件進行監視
/// </summary>
WH_KEYBOARD_LL = 13,
/// <summary>
/// 對鼠標消息進行監視
/// </summary>
WH_MOUSE = 7,
/// <summary>
/// 只能在windows NT中被安裝,用來對底層鼠標事件進行監視
/// </summary>
WH_MOUSE_LL = 14,
#endregion
}
}
public abstract class Hooks : HookTypes
{
public delegate int HookProc(int nCode, int wParam, IntPtr IParam);
/// <summary>
/// 安裝鉤子
/// </summary>
/// <param name="idHook">鉤子類型,即它處理的消息類型</param>
/// <param name="lpfn"> 鉤子函數地址</param>
/// <param name="hInstance">應用程序實例的句柄。標識包含lpfn所指的子程的DLL</param>
/// <param name="threadId">安裝鉤子后想監控的線程的ID號, 如果為0,鉤子子程與所有的線程關聯,即為全局鉤子</param>
/// <returns>返回參數為鉤子句柄,失敗為NULL</returns>
[DllImport("user32.dll", CallingConvention = CallingConvention.StdCall)]
public static extern int SetWindowsHookEx(HookType hooktype, HookProc lpfn, IntPtr hInstance, int threadId);
/// <summary>
/// 卸載鉤子
/// </summary>
/// <param name="idHook">要卸載的鉤子句柄</param>
/// <returns></returns>
[DllImport("user32.dll", CallingConvention = CallingConvention.StdCall)]
public static extern bool UnhookWindowsHookEx(int idHook);
/// <summary>
/// 繼續下一個鉤子
/// </summary>
/// <param name="idHook"></param>
/// <param name="nCode"></param>
/// <param name="wParam"></param>
/// <param name="IParam"></param>
/// <returns></returns>
[DllImport("user32.dll", CallingConvention = CallingConvention.StdCall)]
public static extern int CallNextHookEx(int idHook, int nCode, int wParam, IntPtr IParam);
/// <summary>
/// 獲取當前線程編號
/// </summary>
/// <returns></returns>
[DllImport("kernel32")]
public static extern int GetCurrentThreadId();
#region
/// <summary>
/// 委托對象
/// </summary>
public HookProc proc;
public abstract int SetWindowsHookEx();
#endregion
}
public class AddHook : Hooks
{
HookType hooktyp;
HookProc hookproc;
public AddHook(HookType _hooktype, HookProc _hookproc)
{
this.hooktyp = _hooktype;
this.hookproc = _hookproc;
}
public int AddPrivateHook()
{
return SetWindowsHookEx();
}
/// <summary>
/// 線程鉤子
/// </summary>
/// <returns></returns>
public override int SetWindowsHookEx()
{
//int theadId = System.Threading.Thread.CurrentThread.ManagedThreadId(); 應對GetCurrentThreadId()的過時
int hookId = 0;
object hookId_ = SetWindowsHookEx(this.hooktyp, this.hookproc, IntPtr.Zero, GetCurrentThreadId());
if (hookId_ != null)
{
hookId = (int)hookId_;
}
return hookId;
}
    //系統鉤子和這差不多,安裝鉤子的時候后兩個參數不一樣
}
}

調用我新建了一個類,方便調用線程或者系統鉤子,這里就不貼了
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产久一一精品| 精品亚洲一区二区三区四区五区| 神马久久久久久| 亚洲性av网站| 欧美大尺度电影在线观看| 日韩不卡在线观看| 欧美一区视频在线| 亚洲精品一二区| 精品国产一区二区三区久久久狼| 成人激情视频小说免费下载| 亚洲视频在线视频| 日韩av免费观影| 日本高清久久天堂| 国产精品你懂得| 91精品美女在线| 国产亚洲aⅴaaaaaa毛片| 亚洲精品久久久久久久久久久| 久久久亚洲国产天美传媒修理工| 91精品国产91久久久久| 久久精品电影网| 日韩理论片久久| 国产午夜精品全部视频在线播放| 国产精品成人av在线| 久久久999精品免费| 欧美与黑人午夜性猛交久久久| 日韩精品久久久久久久玫瑰园| 国产成人精品999| 深夜福利国产精品| 日韩精品免费综合视频在线播放| 成人h片在线播放免费网站| 成人亚洲综合色就1024| 日韩av片永久免费网站| 欧美一区二区三区四区在线| 日本久久久久久久久久久| 亚洲国产精品专区久久| 精品国内亚洲在观看18黄| 亚洲精品电影网站| 超碰97人人做人人爱少妇| 亚洲视频在线观看免费| 亚洲奶大毛多的老太婆| 中文字幕无线精品亚洲乱码一区| 日韩精品免费视频| 亚洲精品www| 日韩一区二区av| 久久亚洲精品国产亚洲老地址| 日韩激情第一页| 97精品欧美一区二区三区| 亚洲国产精品国自产拍av秋霞| 欧美日韩精品在线视频| 国产精品午夜一区二区欲梦| 最近2019中文免费高清视频观看www99| 欧美性资源免费| 久久免费少妇高潮久久精品99| 两个人的视频www国产精品| 91麻豆国产语对白在线观看| 日韩三级影视基地| 精品久久久久久中文字幕| 日韩精品免费观看| 疯狂蹂躏欧美一区二区精品| 日本一区二三区好的精华液| 精品亚洲一区二区三区在线观看| 日韩中文字幕av| 久久久在线免费观看| 这里只有视频精品| 国产裸体写真av一区二区| 成人高h视频在线| 欧美香蕉大胸在线视频观看| 九九九热精品免费视频观看网站| 久久久久国色av免费观看性色| 国产日韩中文字幕在线| 国产99久久精品一区二区永久免费| 色吧影院999| 欧美怡红院视频一区二区三区| 亚洲欧美综合区自拍另类| 国产精品久久久久7777婷婷| 精品久久久久久中文字幕大豆网| 青草青草久热精品视频在线观看| 懂色aⅴ精品一区二区三区蜜月| 美女啪啪无遮挡免费久久网站| 亚洲人成电影在线观看天堂色| 欧美成人在线免费视频| 欧美国产高跟鞋裸体秀xxxhd| 色婷婷综合久久久久中文字幕1| 亚洲欧美资源在线| 成人黄色生活片| 亚洲成人精品视频在线观看| 欧美黄色片视频| 亚洲国产精品免费| 国产精品久久久久999| 国产精品色悠悠| 精品美女永久免费视频| 国产精品稀缺呦系列在线| 国产美女精品视频免费观看| 国产午夜一区二区| 久久久免费高清电视剧观看| 88国产精品欧美一区二区三区| 日本视频久久久| 色一情一乱一区二区| 国产精品www色诱视频| 57pao成人永久免费视频| 久久亚洲综合国产精品99麻豆精品福利| 国产偷国产偷亚洲清高网站| 国产成人综合精品| 777精品视频| 77777亚洲午夜久久多人| 欧美成人精品激情在线观看| 最新国产精品亚洲| 久久久久久18| 欧美高跟鞋交xxxxhd| 久99九色视频在线观看| 欧美wwwxxxx| 欧美成人免费小视频| 久久青草福利网站| 日本一欧美一欧美一亚洲视频| 日韩一级裸体免费视频| 成人免费视频xnxx.com| 欧美激情在线一区| 日本中文字幕成人| 亚洲视频网站在线观看| 九九视频这里只有精品| 另类少妇人与禽zozz0性伦| 91香蕉嫩草神马影院在线观看| 色噜噜狠狠狠综合曰曰曰| 中文字幕亚洲无线码a| 成人网址在线观看| 中文在线资源观看视频网站免费不卡| 久久精品国产成人精品| 色综合男人天堂| 国产丝袜精品第一页| 亚洲精品综合久久中文字幕| 亚洲精品美女免费| 欧美激情综合色综合啪啪五月| 中文字幕最新精品| 亚洲自拍偷拍视频| 蜜臀久久99精品久久久久久宅男| 欧美一级视频免费在线观看| 日韩精品极品视频| 久久91亚洲精品中文字幕奶水| 亚洲国产精品人久久电影| 777777777亚洲妇女| 国产精品96久久久久久| 欧美日韩电影在线观看| 国产+人+亚洲| 91精品国产777在线观看| 91sa在线看| 日韩av在线免费播放| 人人澡人人澡人人看欧美| 色噜噜久久综合伊人一本| 自拍亚洲一区欧美另类| 精品久久久久久久久中文字幕| 中文字幕久热精品在线视频| 亚洲高清福利视频| 国产精品视频精品| 亚洲一区久久久| 亚洲美女在线视频| 97在线观看视频| 亚洲人成在线观看| 国产精品自拍视频| 国产精品久久久精品| 中文国产成人精品久久一| 色悠久久久久综合先锋影音下载| 亚洲成人中文字幕| 国产精品久久网| 91av视频在线播放|