C# 钩子程序
记录用户的键盘操作,可进行存储。程序用途很广。 安装钩子: [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);调用API 具体参数可以百度,LowLevelKeyboardProc lpfn:这个参数实际上是一个回调函数,如下 处理函数 private static IntPtr HookCallback (int nCode, IntPtr wParam, IntPtr lParam) { //键盘按下时 if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lParam); Keys key = (Keys)vkCode; MessageBox.Show(key.ToString()); } return CallNextHookEx(_hookID, nCode, wParam, lParam); } 当钩子安装后,自动写如钩子链表,挂入系统,监视指定的事件,这里是键盘事件,当事件发生时先通过钩子 (int nCode, IntPtr wParam, IntPtr lParam) { //键盘按下时 if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lParam); Keys key = (Keys)vkCode; MessageBox.Show(key.ToString()); } return CallNextHookEx(_hookID, nCode, wParam, lParam); } 当钩子安装后,自动写如钩子链表,挂入系统,监视指定的事件,这里是键盘事件,当事件发生时先通过钩子
用户评论
运行少了引用文件,不能运行