c++编程的一个问题,这是一个星号密码查看器,我看书上的代码打的,为什么没有效果呢,即使是对它自己 30

望高手帮帮忙,刚学窗口编程没多久,对钩子之类的了解不多,还请知道原因的同志说说为什么它没有效果#include"resource.h"#include<Windows.h... 望高手帮帮忙,刚学窗口编程没多久,对钩子之类的了解不多,还请知道原因的同志说说为什么它没有效果

#include "resource.h"
#include <Windows.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:
{
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);
}
运行后没效果是指我的程序编译通过了,也执行了,但是没办法查看星号密码,
展开
 我来答
zxyangyu2010
2012-03-01
知道答主
回答量:22
采纳率:0%
帮助的人:3.3万
展开全部
应该是你的控件的名称是 IDCCOK IDCCANCEL,而程序里面的是IDOK IDCANCEL,你试下看是不是这原因,这个程序我碰巧弄过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
usernamevalid
2012-02-23 · TA获得超过4417个赞
知道小有建树答主
回答量:2001
采纳率:71%
帮助的人:746万
展开全部
没有效果指什么 是无法编译 还是程序运行后没有用效果? 运行后点OK, 把鼠标移到密码区, 左键点星号。 请把问题详细描述下
追问
就是执行后出现窗口,我在密码框中输入密码,然后点查看,又点密码星号,但是密码没有显示出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dadaohanyu
2013-05-05
知道答主
回答量:1
采纳率:0%
帮助的人:1487
展开全部
给你发了私信,求助 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式