色女孩综合网_天天做天天添婷婷我也去 _日韩视频高清_草草影院免费

完善主體資料,免費贈送VIP會員!
* 主體類型
* 企業名稱
* 信用代碼
* 所在行業
* 企業規模
* 所在職位
* 姓名
* 所在行業
* 學歷
* 工作性質
請先選擇行業
您還可以選擇以下福利:
行業福利,領完即止!

下載app免費領取會員

NULL

ad.jpg

二次開發教程:C#鍵盤鉤子

發布于:2019-08-23 17:01:11

網友投稿

更多

       HookProc hookProc = null;

        IntPtr hookValue = IntPtr.Zero;

        const int WM_CLICK = 0x00F5;

        public Form1()

        {

            InitializeComponent();

        }


        //安裝

        private void button1_Click(object sender, EventArgs e)

        {

            if (hookProc == null)

            {

                hookProc = new HookProc(this.MyProMethod);

                IntPtr hModule = NativeMethods.GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName);

                //局部鉤子

                hookValue = NativeMethods.SetWindowsHookEx(HookType.WH_KEYBOARD, hookProc, hModule, NativeMethods.GetCurrentThreadId());

                //全局鉤子

                //hookValue = NativeMethods.SetWindowsHookEx(HookType.WH_KEYBOARD_LL, hookProc, hModule, 0);

            }

        }


        private int MyProMethod(int nCode, IntPtr wParam, IntPtr lParam)

        {

            int code = nCode;

            int w = wParam.ToInt32();

            int l = lParam.ToInt32();


            //直接用IntPrt無法返回

            List<IntPtr> prts = GetHandle(this.Handle, IntPtr.Zero, null, "Test");

//向控件發送消息

            IntPtr tp = NativeMethods.SendMessage(prts.First(), WM_CLICK, IntPtr.Zero, IntPtr.Zero);


            return NativeMethods.CallNextHookEx(hookValue, nCode, wParam, lParam);

        }




相關類:


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

    public delegate bool EnumWindowProc(IntPtr hWnd, IntPtr parameter);

    public enum HookType : int

    {

        WH_JOURNALRECORD = 0,

        WH_JOURNALPLAYBACK = 1,

        WH_KEYBOARD = 2,

        WH_GETMESSAGE = 3,

        WH_CALLWNDPROC = 4,

        WH_CBT = 5,

        WH_SYSMSGFILTER = 6,

        WH_MOUSE = 7,

        WH_HARDWARE = 8,

        WH_DEBUG = 9,

        WH_SHELL = 10,

        WH_FOREGROUNDIDLE = 11,

        WH_CALLWNDPROCRET = 12,

        WH_KEYBOARD_LL = 13,

        WH_MOUSE_LL = 14

    }

    public class NativeMethods

    {

        //設置鉤子 

        [DllImport("user32.dll")]

        public static extern IntPtr SetWindowsHookEx(HookType idHook, HookProc lpfn, IntPtr hInstance, int threadId);



        //卸載鉤子

        [DllImport("user32.dll", SetLastError = true)]

        [return: MarshalAs(UnmanagedType.Bool)]

        public static extern bool UnhookWindowsHookEx(IntPtr hhk);



        //調用下一個鉤子 

        [DllImport("user32.dll")]

        public static extern int CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);



        [DllImport("kernel32.dll")]

        public static extern int GetCurrentThreadId();



        [DllImport("user32.dll")]

        public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);


        [DllImport("user32.dll")]

        public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);


        [DllImport("Kernel32.dll")]

        public static extern IntPtr GetModuleHandle(string lpModuleName);



        [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]

        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);



        [DllImport("user32.dll", EntryPoint = "FindWindowEx", SetLastError = true)]

        public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);



        [DllImport("user32")]

        [return: MarshalAs(UnmanagedType.Bool)]

        public static extern bool EnumChildWindows(IntPtr window, EnumWindowProc callback, IntPtr i);

    }


//t通過className和windowTitle來尋找控件

    public class ControlIntPrtUtils

    {

        private string className = string.Empty;

        private string windowTitle = string.Empty;

        public ControlIntPrtUtils(string className,string windowTitle)

        {

            this.className = className;

            this.windowTitle = windowTitle;

        }

        public List<IntPtr> GetHandle(IntPtr parentHandle, IntPtr childAfter)

        {

            List<IntPtr> prts = new List<IntPtr>();

            IntPtr hwnd = NativeMethods.FindWindowEx(parentHandle, IntPtr.Zero, className, windowTitle);

            if (hwnd != IntPtr.Zero)

            {

                prts.Add(hwnd);

                return prts;

            }

            GCHandle gch = GCHandle.Alloc(prts);

            NativeMethods.EnumChildWindows(parentHandle, new EnumWindowProc(EnumCallBack), GCHandle.ToIntPtr(gch));

            return prts;

        }

        private bool EnumCallBack(IntPtr hWnd, IntPtr parameter)

        {

            IntPtr hwnd = NativeMethods.FindWindowEx(hWnd, IntPtr.Zero, className, windowTitle);

            if (hwnd != IntPtr.Zero)

            {

                GCHandle gch = GCHandle.FromIntPtr(parameter);

                List<IntPtr> prts = gch.Target as List<IntPtr>;

                prts.Add(hwnd);

                return false;

            }

            return true;

        }

    }


本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

未標題-1.jpg

上一篇:二次開發教程:Revit開發關于創建Tab的問題

下一篇:二次開發教程:WPF 使用net 資源多語言

60acb4e0ef112.png
色女孩综合网_天天做天天添婷婷我也去 _日韩视频高清_草草影院免费

    9000px;">

      国产亚洲综合在线| 狠狠久久亚洲欧美| 日韩欧美成人午夜| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产精品人成在线观看免费| 91精品免费在线观看| 欧美日韩国产三级| 欧美日韩一区二区在线观看 | 成人不卡免费av| 风间由美一区二区三区在线观看 | 9人人澡人人爽人人精品| 国产精品中文字幕欧美| 国产精一区二区三区| 国产精品综合一区二区三区| 香蕉成人啪国产精品视频综合网| 日韩激情中文字幕| 精品一区二区日韩| 天天免费综合色| 日韩欧美亚洲另类制服综合在线| 精品视频1区2区3区| 国内成人自拍视频| 国产在线观看一区二区| 亚洲欧美日韩久久| 激情图片小说一区| 精品制服美女久久| 国产美女一区二区| 成人av在线播放网站| 色综合久久天天| 欧美女孩性生活视频| 精品国产在天天线2019| 亚洲国产高清aⅴ视频| 亚洲欧美激情小说另类| 五月天视频一区| 国产综合久久久久久鬼色| 成人国产精品免费观看| 欧美性高清videossexo| www欧美成人18+| 亚洲精品国产精品乱码不99| 免费看黄色91| 99精品视频一区二区三区| 欧美日韩三级一区| 国产女人18水真多18精品一级做 | 韩国精品主播一区二区在线观看| 豆国产96在线|亚洲| 欧美最新大片在线看| 精品成人一区二区| 亚洲免费av在线| 国产一区二区在线视频| 91丨porny丨蝌蚪视频| 日韩视频一区在线观看| 久久久精品国产免大香伊| 中文字幕中文字幕在线一区| 免费成人小视频| 欧美色电影在线| 国产精品麻豆视频| 精品一区免费av| 欧美理论片在线| 亚洲欧洲日韩一区二区三区| 久久综合综合久久综合| 欧美在线你懂得| 国产精品久久久久永久免费观看| 日本在线不卡一区| 在线观看成人小视频| 欧美精品一区二区高清在线观看| 亚洲一区二区三区精品在线| 成人a免费在线看| 欧美三级电影在线观看| 亚洲免费色视频| 国产成人午夜视频| 91精品麻豆日日躁夜夜躁| 亚洲精品视频观看| 丁香一区二区三区| 久久综合色综合88| 久久精品国产免费| 日韩一级完整毛片| 美国欧美日韩国产在线播放| 欧美丰满一区二区免费视频| 樱花草国产18久久久久| 99九九99九九九视频精品| 久久久久久免费毛片精品| 加勒比av一区二区| 欧美精品一区二区三区四区| 另类小说欧美激情| 日韩视频在线一区二区| 狠狠色狠狠色合久久伊人| 精品噜噜噜噜久久久久久久久试看 | 国产亚洲一区二区在线观看| 国产一区二区网址| 色狠狠综合天天综合综合| 亚洲自拍另类综合| 欧洲色大大久久| 午夜不卡在线视频| 日韩一级免费一区| 极品少妇一区二区三区精品视频| 精品免费视频一区二区| 国产很黄免费观看久久| 国产精品久久久久久久久搜平片| 99re热这里只有精品视频| 亚洲男女一区二区三区| 欧美日韩精品一区二区| 麻豆一区二区三区| 2023国产一二三区日本精品2022| 国产成人自拍在线| 亚洲精品国产第一综合99久久| 精品视频色一区| 精品亚洲成a人| 国产精品国产三级国产普通话99| 欧美在线免费观看亚洲| 久久精品久久99精品久久| 国产日韩欧美激情| 在线免费观看成人短视频| 日韩在线一区二区| 中文字幕欧美国产| 欧美日韩国产成人在线91| 国产九色sp调教91| 一区二区三区资源| 精品少妇一区二区三区日产乱码 | ㊣最新国产の精品bt伙计久久| 在线免费亚洲电影| 国产尤物一区二区在线| 国产精品久久久久久久久免费樱桃| 91九色02白丝porn| 国产成人夜色高潮福利影视| 玉米视频成人免费看| 精品卡一卡二卡三卡四在线| 日本韩国精品在线| 免费成人在线视频观看| 一区二区三区中文字幕电影| 日韩欧美国产高清| 欧美三级乱人伦电影| 国产99久久久国产精品| 日韩高清不卡一区二区三区| 国产精品传媒在线| 日韩欧美成人激情| 在线播放一区二区三区| 91免费视频网址| 成人性生交大合| 国产乱对白刺激视频不卡| 日韩精品亚洲一区| 亚洲国产日产av| 中文字幕一区二区在线播放 | 中文字幕亚洲一区二区av在线| 欧美精品一卡两卡| 日本韩国一区二区| 色综合亚洲欧洲| 国产精品一区二区三区四区| 日本vs亚洲vs韩国一区三区二区| 一区二区三区在线影院| 中文字幕一区免费在线观看| 国产女主播在线一区二区| 久久精品一级爱片| 精品第一国产综合精品aⅴ| 欧美二区在线观看| 欧美久久久久久久久久| 欧美中文字幕一区二区三区| 一本到不卡精品视频在线观看| 成人免费视频一区| 久草热8精品视频在线观看| 亚洲一区在线免费观看| 亚洲另类在线一区| 亚洲日本一区二区| 亚洲免费观看视频| 亚洲精品一二三| 亚洲综合免费观看高清完整版在线| 亚洲嫩草精品久久| 亚洲第一会所有码转帖| 五月天中文字幕一区二区| 免费三级欧美电影| 狠狠色狠狠色综合| 成人一区二区三区视频| 国产精品一区二区男女羞羞无遮挡| 乱一区二区av| 高清视频一区二区| kk眼镜猥琐国模调教系列一区二区 | 国产精品国产三级国产a| 久久久久久久久97黄色工厂| 欧美mv日韩mv| 国产精品毛片a∨一区二区三区| 欧美激情一区二区三区四区| 国产精品亲子伦对白| 中文字幕一区二区三区在线观看 | 91在线丨porny丨国产| 成人免费观看av| 91麻豆免费观看| 91麻豆国产精品久久| 欧美日韩欧美一区二区| 欧美不卡123| 中文字幕中文字幕在线一区| 亚洲福利视频一区二区| 经典三级一区二区| 91视频免费播放| 欧美一级xxx| 中文字幕视频一区| 日本女人一区二区三区| 成人福利视频在线看| 欧美日韩精品欧美日韩精品一综合| 欧美精品一区男女天堂| 亚洲人吸女人奶水| 精品午夜一区二区三区在线观看| 99热99精品|