91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c# setwindowshookex如何使用

c#
小樊
86
2024-07-16 15:10:52
欄目: 編程語言

在C#中使用SetWindowsHookEx函數可以通過PInvoke進行調用。以下是一個簡單的示例代碼,演示如何使用SetWindowsHookEx函數來監聽并攔截鼠標消息。

using System;
using System.Runtime.InteropServices;

namespace SetWindowsHookExExample
{
    class Program
    {
        private delegate IntPtr HookProc(int code, IntPtr wParam, IntPtr lParam);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hMod, uint dwThreadId);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern bool UnhookWindowsHookEx(IntPtr hhk);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);

        private const int WH_MOUSE_LL = 14;

        private static IntPtr hookId = IntPtr.Zero;
        private static HookProc hookProc;

        static void Main(string[] args)
        {
            hookProc = HookCallback;
            hookId = SetHook(hookProc);

            Console.WriteLine("Hook installed. Press any key to exit...");
            Console.ReadKey();

            UnhookWindowsHookEx(hookId);
        }

        private static IntPtr SetHook(HookProc proc)
        {
            using (var curProcess = System.Diagnostics.Process.GetCurrentProcess())
            using (var curModule = curProcess.MainModule)
            {
                return SetWindowsHookEx(WH_MOUSE_LL, proc, Marshal.GetHINSTANCE(curModule), 0);
            }
        }

        private static IntPtr HookCallback(int code, IntPtr wParam, IntPtr lParam)
        {
            // Intercept and handle mouse messages here
            return CallNextHookEx(hookId, code, wParam, lParam);
        }
    }
}

請注意,這只是一個簡單的示例,真實的使用可能需要更多的代碼來處理不同類型的消息或事件。您可以根據自己的需求修改和擴展以上示例。

0
舞阳县| 栖霞市| 东乌| 仁布县| 宁蒗| 城口县| 于都县| 临沭县| 内黄县| 墨江| 乃东县| 义乌市| 绥芬河市| 定结县| 芜湖县| 息烽县| 哈密市| 读书| 时尚| 黑河市| 沧源| 楚雄市| 玉田县| 三河市| 长海县| 林西县| 屏东县| 南华县| 锦州市| 渭源县| 新郑市| 扶风县| 海丰县| 航空| 汨罗市| 和硕县| 东乡县| 汉川市| 泽库县| 张北县| 石渠县|