正文

简单认识HOOK2008-01-22 13:58:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/sword2008/32348.html

分享到:

SetWindowsHookEx(WH_KEYBOARD,KeyBoardProc,NULL,GetCurrentThreadId());

 

第一个为消息类型,听说有13种

第二个为返回消息

第三个为HINSTANCE

第四个为(用DLL全局钩子的话该项可为0)线程ID

 

LRESULT CALLBACK KeyBoardProc(int nCode, WPARAM wParam, LPARAM lParam)

消息处理

 

LRESULT CALLBACK KeyBoardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
 CString str;
 int keydown ;
 for(keydown=0x41 ;keydown<=0x5A;keydown++)
 {
  if((DWORD)keydown == wParam)
  {
   if(FindWindow(NULL,"获取按键值") != NULL)
   {
    CHOOK_KEYBOARDDlg * ck ;
   // ck =(CHOOK_KEYBOARDDlg *)FindWindow(NULL,"获取按键值") ;
   // ck =(CHOOK_KEYBOARDDlg *)GetActiveWindow();
   // ck =(CHOOK_KEYBOARDDlg   *)GetParent(GetActiveWindow());
   // ck->m_hWnd =FindWindowEx(NULL,NULL,NULL,_T("获取按键值"));
    ck =(CHOOK_KEYBOARDDlg *)ck->FromHandle( ::FindWindowEx(NULL,NULL,NULL,_T("获取按键值")) );
    ck->m_Epassword.Format("%c",(TCHAR)wParam);
    ck->UpdateData(false);
   }
  }
 }
 return CallNextHookEx(oldkeyhook, nCode, wParam, lParam);
}

阅读(2787) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册