-
大小: 285KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-06-02
- 语言: 其他
- 标签: SetWindows Hook WH_CBT
资源简介
SetWindowsHookEx 64位,或32位,不同,需要编译各自的库、SetWindowsHookEx 64位,或32位,不同,需要编译各自的库、
代码片段和文件信息
// Log.cpp: implementation of the Log class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Log.h“
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4996)
//#if (defined(_UNICODE) || defined(_MBCS))
//#error Cannot compile with multibyte/wide character support
//#endif
const int Log::ToDebug = 1;
const int Log::ToFile = 2;
const int Log::ToConsole = 4;
const static int LINE_BUFFER_SIZE = 1024;
Log::Log(int mode int level char *filename bool append)
{
m_lastLogTime = 0;
m_filename = NULL;
m_append = false;
hlogfile = NULL;
m_todebug = false;
m_toconsole = false;
m_tofile = false;
SetFile(filename append);
SetMode(mode);
SetLevel(level);
// If the compiler returns full path names in __FILE__
// remember the path prefix to remove it from the log messages.
char *path = __FILE__;
char *ptr = strrchr(path ‘\\‘);
if (ptr != NULL) {
m_prefix_len = ptr + 1 - path;
m_prefix = (char *)malloc(m_prefix_len + 1);
memcpy(m_prefix path m_prefix_len);
m_prefix[m_prefix_len] = ‘\0‘;
}
}
void Log::SetMode(int mode) {
m_mode = mode;
if (mode & ToDebug)
m_todebug = true;
else
m_todebug = false;
if (mode & ToFile) {
if (!m_tofile)
OpenFile();
} else {
CloseFile();
m_tofile = false;
}
if (mode & ToConsole) {
if (!m_toconsole)
AllocConsole();
m_toconsole = true;
} else {
m_toconsole = false;
}
}
int Log::GetMode() {
return m_mode;
}
void Log::SetLevel(int level) {
m_level = level;
}
int Log::GetLevel() {
return m_level;
}
void Log::Setstyle(int style) {
m_style = style;
}
int Log::Getstyle() {
return m_style;
}
void Log::SetFile(const char *filename bool append)
{
CloseFile();
if (m_filename != NULL)
free(m_filename);
m_filename = strdup(filename);
m_append = append;
if (m_tofile)
OpenFile();
}
void Log::OpenFile()
{
// Is there a file-name?
if (m_filename == NULL)
{
m_todebug = true;
m_tofile = false;
Print(0 “Error opening log file\n“);
return;
}
m_tofile = true;
m_lastLogTime = 0;
// If there‘s an existing log and we‘re not appending then move it
if (!m_append)
{
// Build the backup filename
char *backupfilename = new char[strlen(m_filename)+5];
if (backupfilename)
{
strcpy(backupfilename m_filename);
strcat(backupfilename “.bak“);
// Attempt the move and replace any existing backup
// Note that failure is silent - where would we log a message to? ;)
DeleteFileA(backupfilename);
MoveFileA(m_filename backupfilename);
delete [] backupfilename;
}
}
// If filen
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-12 10:46 NewTest006Hook\
目录 0 2013-03-23 10:20 NewTest006Hook\common\
文件 5838 2012-12-27 15:18 NewTest006Hook\common\Log.cpp
文件 2615 2012-12-28 16:16 NewTest006Hook\common\Log.h
目录 0 2017-09-12 10:44 NewTest006Hook\Debug\
目录 0 2017-09-12 10:26 NewTest006Hook\ipch\
目录 0 2017-09-12 10:46 NewTest006Hook\ipch\newtest006global-a158020b\
目录 0 2017-09-12 10:45 NewTest006Hook\NewTest006Global\
文件 6783 2017-09-12 10:38 NewTest006Hook\NewTest006Global\NewTest006Global.cpp
文件 663 2013-03-24 13:48 NewTest006Hook\NewTest006Global\NewTest006Global.h
文件 7279 2013-03-24 14:06 NewTest006Hook\NewTest006Global\NewTest006Global.vcxproj
文件 1083 2013-03-23 14:11 NewTest006Hook\NewTest006Global\NewTest006Global.vcxproj.filters
文件 787 2013-03-24 14:10 NewTest006Hook\NewTest006Global\NewTest006Global.vcxproj.user
文件 8582 2013-03-24 14:13 NewTest006Hook\NewTest006Global\temp.log
文件 554 2013-03-24 14:10 NewTest006Hook\NewTest006Global\temp.log.bak
目录 0 2017-09-12 10:45 NewTest006Hook\NewTest006Hook\
文件 3594 2017-09-11 17:16 NewTest006Hook\NewTest006Hook.sln
文件 37376 2017-09-12 10:44 NewTest006Hook\NewTest006Hook.suo
目录 0 2017-09-12 10:45 NewTest006Hook\NewTest006HookTest\
文件 104948 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.aps
文件 2051 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.cpp
文件 514 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.h
文件 8942 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.rc
文件 10846 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.vcxproj
文件 2257 2013-03-23 15:08 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.vcxproj.filters
文件 143 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.vcxproj.user
文件 4446 2017-09-11 17:33 NewTest006Hook\NewTest006HookTest\NewTest006HookTestDlg.cpp
文件 928 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTestDlg.h
文件 3222 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\ReadMe.txt
目录 0 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\res\
文件 1198 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\resource.h
............此处省略28个文件信息
- 上一篇:TSOP_44_48_54PCB封装
- 下一篇:硬盘加密软件破解版(免安装
相关资源
- 拦截网络socket的数据
- Hook工具 监控任意窗体拦截消息
- HookNtQuery_File.zip
- 内存注入(IAT Hook 和Inline Hook)
- HOOK API 完美支持 x86 x64
- HookdiskID_硬盘ID修改 程序
- D3D8 hook 游戏屏幕写入文字
- HOOK截取封包.rar易语言源码
- HOOK API源码 (OPENPROCESS)
- 老外写的sockethook代码 实现socket钩子
- 微信hock源码
- svn hooks 全集,包含常用
- CEFGlue 加载FLASH 使用easyhook 解决 CEF
- X64 inline hook CreateProcessInternalW
- HookCreateProcess
- 基于API-HOOK的数据文件透明加解密系统
- Easyhook教程
- e语言-阿里旺旺客户端HOOK监控消息源
- 易语言的DX11 HOOK
- QT后台监控鼠标侧键
- pyHook-1.5.1-cp37-cp37m-win_amd64.whl
- 易语言 拦截文件读写 APIhook
- SystemHooksCompiledOnly
- API hook详解
- VC用HOOK拦截数据包的
- CAPIHook类代码
- Hook API 工具 + 源代码
- 基于VS2010的全局低级键盘钩子Hook de
- HOOK模板汇编版
- RPGMakerMVGame Hook patcher 0.0.3.4.zip
评论
共有 条评论