资源简介
C++监控注册表源代码
包含,detours.lib(1.5版)
以及C#调用Dll的试验代码。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace testDll
{
public partial class FrmMessage : Form
{
const int HKEY_CURRENT_USER = 80000001;
const int HKEY_LOCAL_MACHINE = 80000002;
const int WM_COPYDATA = 0x004A;
const int WM_CANCELJOURNAL = 0x004B;
public struct PARAMS
{
[MarshalAs(UnmanagedType.U4)]
public uint PID;
public IntPtr hKey; //?指针
public IntPtr buffer1;
//public string buffer1; //指针
public IntPtr cbBuffer1;
//[MarshalAs(UnmanagedType.ByValArray SizeConst = 1024)]
public IntPtr buffer2;
//public IntPtr buffer2; //指针
public IntPtr cbBuffer2;
public IntPtr type;
public long result;
};
public struct COPYDATASTRUCT
{
public IntPtr dwData;
public int cbData;
public PARAMS lpData;
}
[DllImport(“hook.dll“ EntryPoint = “InstallHook“)]
public static extern bool InstallHook(IntPtr hWnd);
public FrmMessage()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
}
protected override void DefWndProc(ref Message m)
{
switch (m.Msg)
{
case WM_COPYDATA:
try
{
COPYDATASTRUCT s = new COPYDATASTRUCT();
Type t = s.GetType();
s = (COPYDATASTRUCT)m.GetLParam(t);
Console.WriteLine(“s.cbData:“ + s.cbData);
Console.WriteLine(“s.dwData:“ + s.dwData);
Console.WriteLine(“hKey:“ + Marshal.ReadInt32(s.lpData.hKey));
Console.WriteLine(“PID:“ + s.lpData.PID);
Console.WriteLine(“type:“ + s.lpData.type);
Console.WriteLine(“cbBuffer1:“ + s.lpData.cbBuffer1);
Console.WriteLine(“cbBuffer2:“ + s.lpData.cbBuffer2);
PARAMS p = s.lpData;
}
catch (Exception ex) { }
break;
default:
base.DefWndProc(ref m);
break;
}
}
private void button1_Click(object sender EventArgs e)
{
IntPtr trayHwnd = this.Handle;
InstallHook(trayHwnd);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 48373 2010-02-19 15:09 HookRegister\1.PNG
文件 33280 2009-06-14 18:49 HookRegister\bin\Hook.dll
文件 21897 2010-03-04 22:08 HookRegister\bin\RegisterMon.exe
文件 651 2010-02-27 10:27 HookRegister\clean.bat
文件 21251 2001-08-28 09:41 HookRegister\Hook\detours.h
文件 17449 2009-06-14 18:49 HookRegister\Hook\Hook.cpp
文件 4280 2009-06-14 15:06 HookRegister\Hook\Hook.dsp
文件 531 2009-06-06 17:19 HookRegister\Hook\Hook.dsw
文件 291 2009-06-06 17:19 HookRegister\Hook\StdAfx.cpp
文件 858 2009-06-07 20:16 HookRegister\Hook\StdAfx.h
文件 33280 2009-06-14 18:49 HookRegister\Hook.原版本.dll
文件 400 2010-02-19 15:16 HookRegister\Readme.txt
文件 159825 2010-03-04 22:08 HookRegister\RegisterMon\Debug\RegisterMon.exe
文件 1390 2010-02-19 12:49 HookRegister\RegisterMon\InfoDlg.cpp
文件 1294 2010-02-19 12:49 HookRegister\RegisterMon\InfoDlg.h
文件 3040 2010-02-19 13:39 HookRegister\RegisterMon\MainFrm.cpp
文件 1652 2010-02-19 13:31 HookRegister\RegisterMon\MainFrm.h
文件 3074 2010-02-27 10:25 HookRegister\RegisterMon\ProcessListDlg.cpp
文件 1434 2009-06-14 17:33 HookRegister\RegisterMon\ProcessListDlg.h
文件 3191 2010-03-04 22:08 HookRegister\RegisterMon\RegisterMon.clw
文件 4469 2009-06-14 16:16 HookRegister\RegisterMon\RegisterMon.cpp
文件 4993 2010-03-04 22:03 HookRegister\RegisterMon\RegisterMon.dsp
文件 545 2009-06-12 19:09 HookRegister\RegisterMon\RegisterMon.dsw
文件 1411 2009-06-12 19:09 HookRegister\RegisterMon\RegisterMon.h
文件 10559 2010-03-04 22:08 HookRegister\RegisterMon\RegisterMon.rc
文件 1842 2009-06-12 19:09 HookRegister\RegisterMon\RegisterMonDoc.cpp
文件 1530 2009-06-12 19:09 HookRegister\RegisterMon\RegisterMonDoc.h
文件 34919 2010-03-04 22:06 HookRegister\RegisterMon\RegisterMonView.cpp
文件 4767 2010-02-19 14:35 HookRegister\RegisterMon\RegisterMonView.h
文件 4286 2010-02-19 15:00 HookRegister\RegisterMon\res\RegisterMon.ico
............此处省略48个文件信息
评论
共有 条评论