12
返回列表 发新帖
楼主: ziyi0808

.NET中钩子技术屏蔽使用Ctrl+C

[复制链接]
论坛徽章:
26
会员2007贡献徽章
日期:2007-09-26 18:42:10奥运会纪念徽章:皮划艇激流回旋
日期:2008-04-25 10:30:05奥运会纪念徽章:摔跤
日期:2008-04-24 10:00:18奥运会纪念徽章:游泳
日期:2008-04-24 10:00:07奥运会纪念徽章:现代五项
日期:2008-04-23 15:45:08奥运会纪念徽章:篮球
日期:2008-04-23 12:45:11生肖徽章2007版:鼠
日期:2008-01-31 11:12:36生肖徽章2007版:鼠
日期:2008-01-31 11:12:36生肖徽章2007版:鼠
日期:2008-01-31 11:12:36生肖徽章2007版:鼠
日期:2008-01-31 11:12:36
11#
 楼主| 发表于 2008-1-10 17:40 | 只看该作者
此类问题在google上也有信息  但是都比较零散  寻遍Intel终于被我找到了一个dll文件(Kennedy.ManagedHooks.dll)您有可能会问了,这是什么文件?下面听我云:
Kennedy.ManagedHooks.dll此dll文件是已经编写好的钩子代码,我们只需要在外部进行调用就可以了
这里面写了2类系统全局钩子(鼠标and键盘)。好了,现在先不去考虑dll文件里面的具体实现细节,我们只需要简单的调用即可(具体细节有时间再说,时间比较紧张)。
C#建立WinForm应用程序
窗体名称MainForm.cs
这里只给出一些主要实现方法(其余的大家自己去研究吧,在研究中还会学习到很多知识的)
钩子的安装
                private void buttonInstall_Click(object sender, System.EventArgs e)
                {
                        // EXAMPLE CODE SECTION

            AddText("Adding mouse hook.");
            mouseHook.InstallHook();

                        AddText("Adding keyboard hook.");
                        keyboardHook.InstallHook();

                        buttonInstall.Enabled = false;
                        buttonUninstall.Enabled = true;
                }
钩子的卸载
private void buttonUninstall_Click(object sender, System.EventArgs e)
                {
                        // EXAMPLE CODE SECTION

            mouseHook.UninstallHook();
            AddText("Mouse hook removed.");

                        keyboardHook.UninstallHook();
                        AddText("Keyboard hook removed.");

                        buttonInstall.Enabled = true;
                        buttonUninstall.Enabled = false;
                }
鼠标操作监听
private void mouseHook_MouseEvent(Kennedy.ManagedHooks.MouseEvents mEvent, Point point)
                {
            string msg = string.Format("Mouse event: {0}: ({1},{2}).", mEvent.ToString(), point.X, point.Y);
            if (mEvent.Equals(Kennedy.ManagedHooks.MouseEvents.LeftButtonDown ))
            {
                AddText("鼠标左键被按下");
                //获取系统进程信息
                System.Diagnostics.Process[] allProcesses = System.Diagnostics.Process.GetProcesses();
                //显示系统进程数量.
                AddText(allProcesses.Length.ToString());
                //终止系统进程
                                       // allProcesses[0].Kill();
                    
                //获取explorer进程信息         
                System.Diagnostics.Process[] explorer = System.Diagnostics.Process.GetProcessesByName("explorer");
                explorer[0].Kill();
                                            }
                        AddText(msg);
                }
键盘的监听
private void keyboardHook_KeyboardEvent(Kennedy.ManagedHooks.KeyboardEvents kEvent, Keys key)
                {
            if (key.Equals(System.Windows.Forms.Keys.PrintScreen))
            {
                AddText("PrintScreen被按下");
                key = System.Windows.Forms.Keys.B;
            }
            if (key.Equals (System.Windows.Forms.Keys.Control  ))
            {
                AddText("Ctrl被按下:"+key);
                key = System.Windows.Forms.Keys.N ;
                AddText("Ctrl被更改:" + key);
               
            }
                        string msg = string.Format("Keyboard event: {0}: {1}.", kEvent.ToString(), key);
                        AddText(msg);
                }
这样您就实现了鼠标and键盘的监听功能
需要其他操作的话 可以更改鼠标and键盘监听里面的代码!
谢谢!

使用道具 举报

回复
论坛徽章:
26
会员2007贡献徽章
日期:2007-09-26 18:42:10奥运会纪念徽章:皮划艇激流回旋
日期:2008-04-25 10:30:05奥运会纪念徽章:摔跤
日期:2008-04-24 10:00:18奥运会纪念徽章:游泳
日期:2008-04-24 10:00:07奥运会纪念徽章:现代五项
日期:2008-04-23 15:45:08奥运会纪念徽章:篮球
日期:2008-04-23 12:45:11生肖徽章2007版:鼠
日期:2008-01-31 11:12:36生肖徽章2007版:鼠
日期:2008-01-31 11:12:36生肖徽章2007版:鼠
日期:2008-01-31 11:12:36生肖徽章2007版:鼠
日期:2008-01-31 11:12:36
12#
 楼主| 发表于 2008-1-10 17:42 | 只看该作者
附上dll文件
祝大家好运~

Kennedy.ManagedHooks.rar

7.09 KB, 下载次数: 24

使用道具 举报

回复
论坛徽章:
24
IT宝贝
日期:2012-02-17 10:28:28itpub13周年纪念徽章
日期:2014-10-08 15:13:38itpub13周年纪念徽章
日期:2014-10-08 16:16:39技术图书徽章
日期:2014-11-11 13:14:17马上有车
日期:2014-12-17 17:32:54沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31乌索普
日期:2018-06-15 13:46:25itpub13周年纪念徽章
日期:2014-09-28 10:55:55马上有车
日期:2014-06-16 15:54:57
13#
发表于 2008-1-10 18:50 | 只看该作者
哇哈哈
学习学习
谢谢咯

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表