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

完善主體資料,免費贈送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
色女孩综合网_天天做天天添婷婷我也去 _日韩视频高清_草草影院免费

    午夜精品99久久免费| 欧美阿v一级看视频| 亚洲大片在线观看| 国产精品日本一区二区| 欧美成人中文字幕| 久久经典综合| 亚洲一区二区精品| 日韩视频一区二区三区在线播放免费观看 | 欧美国产国产综合| 亚洲天堂偷拍| 亚洲二区视频在线| 国产一区91| 国产精品成人aaaaa网站| 美日韩在线观看| 欧美一区二区三区四区在线观看| 日韩亚洲欧美高清| 亚洲激情在线观看视频免费| 国产欧美在线播放| 国产精品日韩精品欧美在线| 欧美日韩国产在线播放| 免费日韩av片| 美日韩免费视频| 欧美成人a视频| 美女黄网久久| 久久综合九色99| 老牛影视一区二区三区| 久久久www成人免费精品| 欧美一区在线视频| 久久久久久亚洲精品中文字幕| 午夜久久影院| 久久国产日韩| 久久亚洲精品一区| 久久综合中文字幕| 免费一级欧美片在线观看| 免费欧美在线| 欧美日韩一区二区在线| 欧美体内谢she精2性欧美| 欧美视频在线一区二区三区| 国产精品久久精品日日| 国产精品一区=区| 国产精品主播| 很黄很黄激情成人| 在线精品高清中文字幕| 洋洋av久久久久久久一区| 亚洲小说欧美另类社区| 欧美一级艳片视频免费观看| 久久精品二区| 欧美14一18处毛片| 欧美色图麻豆| 国产在线观看91精品一区| 精品91在线| 亚洲午夜伦理| 久久这里只有| 国产精品福利久久久| 国产婷婷色综合av蜜臀av| 亚洲高清在线精品| 亚洲男人影院| 蜜桃久久av一区| 国产精品久久久久久久久婷婷| 国产在线精品成人一区二区三区 | 久久婷婷久久| 欧美日韩亚洲另类| 狠狠色丁香久久婷婷综合丁香| 亚洲经典视频在线观看| 午夜亚洲性色福利视频| 免费看成人av| 国产欧美日韩一区| 亚洲午夜国产成人av电影男同| 久久精品免费看| 欧美三区在线视频| 91久久夜色精品国产九色| 午夜视频一区在线观看| 欧美日韩成人一区二区| 一区二区在线视频观看| 亚洲欧美日韩一区二区三区在线观看| 欧美jizz19性欧美| 国产一区二区三区网站| 亚洲自拍偷拍网址| 欧美日韩一区二区三区免费看| 极品少妇一区二区三区| 先锋影音国产一区| 欧美日韩精品中文字幕| 在线看片成人| 久久久水蜜桃| 国语对白精品一区二区| 亚洲免费在线电影| 欧美午夜剧场| 一区二区三区日韩欧美精品| 欧美国产一区二区在线观看| 国产综合精品一区| 久久精品一区蜜桃臀影院| 国产目拍亚洲精品99久久精品| 一区二区三区精密机械公司| 欧美www在线| 最新国产の精品合集bt伙计| 久久久久综合网| 狠狠色丁香婷婷综合久久片| 小黄鸭视频精品导航| 国产欧美va欧美不卡在线| 午夜精品久久久久久久99水蜜桃| 欧美午夜宅男影院| 亚洲在线中文字幕| 国产精品亚洲不卡a| 亚洲欧美色婷婷| 国产欧美日韩综合精品二区| 午夜精品婷婷| 韩国三级电影一区二区| 久热国产精品| 一区二区久久久久久| 国产精品激情偷乱一区二区∴| 亚洲欧美激情诱惑| 黑人操亚洲美女惩罚| 美日韩精品免费观看视频| 亚洲国产高清aⅴ视频| 欧美激情 亚洲a∨综合| 99视频精品| 国产乱码精品一区二区三| 欧美中日韩免费视频| 在线精品视频在线观看高清| 欧美~级网站不卡| 亚洲综合不卡| 国产一区观看| 欧美成人免费小视频| 一区二区三区久久网| 国产精品一区二区三区四区| 久久久久久亚洲精品杨幂换脸| 亚洲黄色高清| 国产美女扒开尿口久久久| 免费成人黄色片| 亚洲一区影院| 亚洲激情在线播放| 国产精品亚洲一区| 美国三级日本三级久久99| 一区二区三区免费网站| 国内自拍视频一区二区三区| 欧美日本不卡高清| 久久久久久9| 日韩亚洲一区二区| 一区二区视频在线观看| 国产精品久久久久久久电影| 久久久久久9| 亚洲欧美在线免费| 日韩一级在线观看| 在线观看欧美精品| 国产欧美精品日韩区二区麻豆天美 | 亚洲日本一区二区三区| 国产欧美一区二区三区久久| 欧美区二区三区| 免费观看成人| 久久狠狠久久综合桃花| 亚洲图片你懂的| 在线观看成人av电影| 国产拍揄自揄精品视频麻豆| 欧美日韩精品免费观看视一区二区| 久久久久久久综合| 亚洲性图久久| 国产精品99久久99久久久二8| 亚洲国产成人午夜在线一区| 国产亚洲精品v| 国产精品一区二区黑丝| 国产精品久久久久一区二区| 欧美日韩国产美女| 欧美国产综合一区二区| 女人色偷偷aa久久天堂| 久久午夜视频| 久久综合伊人77777麻豆| 欧美在线|欧美| 午夜视频一区| 欧美一级欧美一级在线播放| 亚洲欧美日韩视频一区| 亚洲一区三区视频在线观看| 亚洲手机在线| 亚洲欧美在线免费观看| 久久精品国亚洲| 久久久久久久一区二区三区| 久久久久久久精| 久久综合色婷婷| 欧美精品色综合| 欧美日韩三级在线| 欧美三级在线视频| 国产三级精品三级| 亚洲成在线观看| 亚洲手机视频| 久久精品国产久精国产爱| 久久婷婷久久一区二区三区| 欧美激情亚洲综合一区| 欧美激情网友自拍| 欧美四级在线观看| 国产一区二区三区免费在线观看| 国产尤物精品| 亚洲老司机av| 亚洲欧美综合精品久久成人| 久久久精品久久久久| 欧美a级在线| 国产精品丝袜91| 激情婷婷亚洲| 亚洲视频免费| 久久亚洲精品一区二区| 欧美视频在线观看| 在线高清一区|