//消息返回钩子的回调过程,以下可以得到密码编辑框的密码
LRESULT CALLBACK  CallWndRetProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if( ((CWPRETSTRUCT*)lParam)->message == WM_GETTEXT &&
(::GetWindowLong(((CWPRETSTRUCT*)lParam)->hwnd,GWL_STYLE)&ES_PASSWORD) 
{
CString str;
str = (LPCTSTR)(((CWPRETSTRUCT*)lParam)->lParam) ;
MessageBox( (HWND)hWnd,"当前窗口密码框的密码是: " + str,"密码",IDOK) ;
} return CallNextHookEx(hRetWndHook,nCode,wParam,lParam);
}
我对钩子不太懂,这是我从网上下载的一段代码,好像重点应该是这一句
if( ((CWPRETSTRUCT*)lParam)->message == WM_GETTEXT &&
(::GetWindowLong(((CWPRETSTRUCT*)lParam)->hwnd,GWL_STYLE)&ES_PASSWORD) 特别是(::GetWindowLong(((CWPRETSTRUCT*)lParam)->hwnd,GWL_STYLE)&ES_PASSWORD) 我是理解是当程序判断某一窗口有密码
框,就执行操作,但如果我想得到Combo Box内的内容,比如QQ登陆对话框的帐号
应该怎么办?
我试着把ES_PASSWORD替换成CBS_DROPDOWNLIST等几种形式,好像不行,
哪位能帮我解答,分不够,可另外开贴