C# SetWindowsHookEx


  [DllImport("user32.dll")]
        static extern IntPtr SetWindowsHookEx(int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId);

        /// <summary>
        /// 安裝鈎子
        /// </summary>
        /// <param name="idHook">鈎子類型 13鍵盤和14鼠標,用來對底層輸入事件監視</param>
        /// <param name="callback">函數指針</param>
        /// <param name="hInstance">包含SetWindowsHookEx函數的模塊地址,user32.dll入口</param>
        /// <param name="threadId">0表示系統鈎子,</param>
        /// <param name="str"></param>
        /// <returns></returns>
        public IntPtr SetWindowsHookEx(int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId, string str = "占位符")
        {
            return SetWindowsHookEx(idHook, callback, hInstance, threadId);
        }

 

     public event KeyEventHandler KeyDown;
        private void button7_Click(object sender, EventArgs e)
        {
            this.KeyDown += new KeyEventHandler(gkh_KeyDown); //綁定事件
            Keys key = (Keys)1;
            KeyEventArgs kea = new KeyEventArgs(key);
            KeyDown(this, kea);
        }
        private void gkh_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show("000111");
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM