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

通不过,求解解决办法

2013-01-19 
通不过,求解书上找的代码:是一个查看密码的程序,就是通不过,求解。谢谢。有一个对话框资源,编辑框。#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论坛吗。。。
[解决办法]

#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)。

热点排行