[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);
KeyEventArgs kea = new KeyEventArgs(key);
KeyDown(this, kea);
}
private void gkh_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("");
}

C# SetWindowsHookEx的更多相关文章

  1. DLL注入之SetWindowsHookEx

    注:本文章转载自网络 函数功能:该函数将一个应用程序定义的挂钩处理过程安装到挂钩链中去,您可以通过安装挂钩处理过程来对系统的某些类型事件进行监控,这些事件与某个特定的线程或系统中的所有事件相关. 函数 ...

  2. SetWindowsHookEx 相关

    SetWindowsHookEx function https://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85) ...

  3. WinAPI——SetWindowsHookEx设置钩子说明

    提示: 如果要设置系统级钩子, 钩子函数必须在 DLL 中. SetWindowsHookEx(   idHook: Integer;  {钩子类型}   lpfn: TFNHookProc; {函数 ...

  4. 常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战.

    常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战. PS:上面是操作.最后是原理 一丶需要了解的API 使用全局钩子注入.我们需要了解几个WindowsAPI. ...

  5. SetWindowsHookEx 钩子

    基本介绍 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的.当消息到达后,在目标窗口处理函数之前处理 ...

  6. SetWindowsHookEx详解

    http://blog.csdn.net/mmllkkjj/article/details/6627188 函数功能:该函数将一个应用程序定义的挂钩处理过程安装到挂钩链中去,您可以通过安装挂钩处理过程 ...

  7. C#使用全局钩子(hook),SetWindowsHookEx返回0、不回调的解决

    http://www.csharpwin.com/csharpspace/3766r5747.shtml 在.net 2005平台下 在使用全局hook时,总是遇见SetWindowsHookEx的返 ...

  8. QT实现鼠标钩子(使用SetWindowsHookEx安装mouseProc函数)

    HHOOK mouseHook=NULL; LRESULT CALLBACK mouseProc(int nCode,WPARAM wParam,LPARAM lParam ) { if(nCode ...

  9. 【C#】解决MouseHook捕获鼠标动作,在有些电脑上SetWindowsHookEx失败返回0的问题

    原文:[C#]解决MouseHook捕获鼠标动作,在有些电脑上SetWindowsHookEx失败返回0的问题 最近在debug鼠标位置捕获的功能时发现在其中的一台开发电脑上,SetWindowsHo ...

随机推荐

  1. gn3 --iou

    http://www.wyzc.com/Course/Course/learnAction/id/14049/center/0#lesson/400847 http://www.mamicode.co ...

  2. webservice Connection timed out

    webservice Connection timed out,当发生webservice的链接超时错误时.我想原因无非就是webclient到webservice之间的链接通路发生了异常,那么该怎样 ...

  3. MICRO SIM卡(SIM小卡)尺寸图及剪卡图解

    如今使用MICRO SIM卡的手机越来越多.近期刚刚买了一个手机到手才发现尼马使用的是MICRO SIM卡.再去买剪卡器吧,十几二十块用一次就废了,去营业厅吧.又比較远,懒的出门.怎么办呢,自己剪!这 ...

  4. NYOJ 330 一个简单的数学题【数学题】

    /* 题目大意:求解1/n; 解题思路:写一个输出小数的算法 关键点:怎样处理小数点循环输出 解题人:lingnichong 解题时间:2014-10-18 09:04:22 解题体会:输出小数的算法 ...

  5. git-svn for mac

    熟练使用 git ,新公司用的是 svn,这就尴尬了,为了这个习惯问题,我还是毅然坚持使用 git,但是又不与公司的 svn 冲突,所以就找到了 git 的 git-svn 插件. 在 mac 上使用 ...

  6. 布局技巧4:使用ViewStub

    多亏了<include />标签,在Android里,很容易就能做到共享和重用UI组件.在Android开发中,很容易就能创建出复杂的UI结构,结果呢,用了很多的View,且其中的一些很少 ...

  7. java 提取主域名

    import com.google.common.net.InternetDomainName; public static void main(String[] args) { InternetDo ...

  8. Coursera Algorithms week3 快速排序 练习测验: Decimal dominants(寻找出现次数大于n/10的元素)

    题目原文: Decimal dominants. Given an array with n keys, design an algorithm to find all values that occ ...

  9. FSDataInputStream对象 读取数据

  10. win10系统下,开启数据库远程连接方式

    右键左下角的windows标志,选择控制面板 2.查看方式修改为大图标 3.选择高级设置 4.新建入站规则 5.选择端口然后下一步 6.选择tcp协议,端口输入80,3306 7.选择允许连接 8.规 ...