通不过,求解
书上找的代码:是一个查看密码的程序,就是通不过,求解。谢谢。
有一个对话框资源,编辑框。
#include<Windows.h>
#include"resource.h"
HHOOK hHook =NULL;
LRESULT CALLBACK HookProc(int code ,WPARAM wparam ,LPARAM lparam);
int CALLBACK DlgProc(HWND hDlg ,UINT uMsg ,WPARAM wParam,LPARAM lParam);
int APIENTRY WinMain(__in HINSTANCE hInstance ,__in_opt HINSTANCE hPrevInstance,__in_opt LPSTR lpCmdLine ,__in int nShowCmd)
{
return
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG),NULL,DlgProc);
}
int CALLBACK DlgProc( HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam )
{
switch(uMsg)
{
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case IDCANCEL:
{
UnhookWindowHookEx(hHook);
EndDialog(hDlg,wParam);
}
break;
case IDOK:
{
hHook = SetWindowsHookEx(WH_JOURNARECORD,HookProc,GetModuleHandle(NULL),0);
}
break;
}
}
break;
case WM_CLOSE:
{
EndDialog( hDlg,0)
}
break;
}
return 0;
}
LRESULT CALLBACK HookProc(int code,WPARAM wparam,LPARAM lparam)
{
HWND hwnd;
POINT point ;
GetCusorPos(&point );
hwnd=WindowFromPoint(point );
long nStyle = GetWindowLong(hwnd,GWL_STYLE);
EVENTMSG * event = (EVENTTMSG *)lparam;
if(event ->message==WM_LBUTTONDOWN)
{
if(nStyle&ES_PASSWORD)
{
PostMessage(hwnd,EM_SETPASSWORDCHAR,0,0);
}
}
return CallNextHookEx(hHook,code,wparam,lparam);
}
[解决办法]
这个难道不是mfc的吗?不是应该去mfc论坛吗。。。
[解决办法]
#include<Windows.h>
#include"resource.h"
HHOOK hHook =NULL;
LRESULT CALLBACK HookProc(int code, WPARAM wparam, LPARAM lparam);
int CALLBACK DlgProc(HWND hDlg ,UINT uMsg ,WPARAM wParam,LPARAM lParam);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
return DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG),NULL,DlgProc);
}
int CALLBACK DlgProc( HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam )
{
switch(uMsg)
{
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case IDCANCEL:
{
UnhookWindowsHookEx(hHook);
EndDialog(hDlg,wParam);
}
break;
case IDOK:
{
hHook = SetWindowsHookEx(WH_JOURNALRECORD,HookProc,GetModuleHandle(NULL),0);
}
break;
}
}
break;
case WM_CLOSE:
{
EndDialog(hDlg, 0);
}
break;
}
return 0;
}
LRESULT CALLBACK HookProc(int code, WPARAM wparam, LPARAM lparam)
{
HWND hwnd;
POINT point ;
GetCursorPos(&point );
hwnd=WindowFromPoint(point );
long nStyle = GetWindowLong(hwnd,GWL_STYLE);
EVENTMSG * event = (EVENTMSG*)lparam;
if(event ->message==WM_LBUTTONDOWN)
{
if(nStyle&ES_PASSWORD)
{
PostMessage(hwnd,EM_SETPASSWORDCHAR,0,0);
}
}
return CallNextHookEx(hHook,code,wparam,lparam);
}