如何把消息参数还原?
这是我写的一段钩子函数代码,有一个地方我没有办法解决!哪位高手教我一下!
源代码如下!
// The one and only CHookdllApp object
CHookdllApp theApp;
HHOOK hMessageHook=NULL;
CWPSTRUCT *pCwpstruct;
DWORD dwStyle=0;
/////////////////////////////////////////////////////////////////////////////
// CHookdllApp initializationLRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT RetVal=CallNextHookEx(hMessageHook, nCode, wParam, lParam);
if (nCode < 0) // do not process message
return RetVal;
pCwpstruct=(CWPSTRUCT *)lParam;
if(WM_GETTEXT==pCwpstruct->message)
{
dwStyle=GetWindowLong(pCwpstruct->hwnd,GWL_STYLE);
if(dwStyle&ES_PASSWORD)
{
//问题在这里,我始终不能把 pCwpstruct->lParam 的内容读出来!
char c[100];
::wsprintf(c,"%ud",pCwpstruct->lParam);
::AfxMessageBox(c);
}
}
return RetVal;
}bool installhooker()
{
//安装消息钩子
hMessageHook = SetWindowsHookEx(WH_CALLWNDPROC,CallWndProc,theApp.m_hInstance,0);
if(hMessageHook==NULL)return 0;
::AfxMessageBox("fs");
return 1;
}
这是我写的一段钩子函数代码,有一个地方我没有办法解决!哪位高手教我一下!
源代码如下!
// The one and only CHookdllApp object
CHookdllApp theApp;
HHOOK hMessageHook=NULL;
CWPSTRUCT *pCwpstruct;
DWORD dwStyle=0;
/////////////////////////////////////////////////////////////////////////////
// CHookdllApp initializationLRESULT CALLBACK CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT RetVal=CallNextHookEx(hMessageHook, nCode, wParam, lParam);
if (nCode < 0) // do not process message
return RetVal;
pCwpstruct=(CWPSTRUCT *)lParam;
if(WM_GETTEXT==pCwpstruct->message)
{
dwStyle=GetWindowLong(pCwpstruct->hwnd,GWL_STYLE);
if(dwStyle&ES_PASSWORD)
{
//问题在这里,我始终不能把 pCwpstruct->lParam 的内容读出来!
char c[100];
::wsprintf(c,"%ud",pCwpstruct->lParam);
::AfxMessageBox(c);
}
}
return RetVal;
}bool installhooker()
{
//安装消息钩子
hMessageHook = SetWindowsHookEx(WH_CALLWNDPROC,CallWndProc,theApp.m_hInstance,0);
if(hMessageHook==NULL)return 0;
::AfxMessageBox("fs");
return 1;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货