首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

通不过,求解解决方法

2012-03-25 
通不过,求解书上找的代码:是一个查看密码的程序,就是通不过,求解。谢谢。有一个对话框资源,编辑框。#include

通不过,求解
书上找的代码:是一个查看密码的程序,就是通不过,求解。谢谢。
有一个对话框资源,编辑框。

#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论坛吗。。。
[解决办法]

C/C++ code
#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);    }
[解决办法]
一样的。资源文件 要与 示例的 相同(包括ID)。

热点排行