首页
社区
课程
招聘
[已解决]C语言问题求助[求助]
发表于: 2006-7-22 18:10 4733

[已解决]C语言问题求助[求助]

2006-7-22 18:10
4733
我没有学过C,在网上看见一好的代码(截取密码用)

部分如下;

===============================

BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
char lp[32];
GetClassName(hwnd,lp,32);
if (String(lp)=="Edit")
{ LONG style=::GetWindowLong(hwnd,GWL_STYLE); //得到STYLE
  if((style&ES_PASSWORD)!=ES_PASSWORD)   //不是密码框
  {
SendMessage(hwnd,WM_GETTEXT,64,(LPARAM)(LPCTSTR)HookStruct->username); //得到username

    return false;
}
if((style&ES_PASSWORD)==ES_PASSWORD)       //是密码框
{SendMessage(hwnd,WM_GETTEXT,64,(LPARAM)(LPCTSTR)HookStruct->psw);  //得到psw
         return true;
}
}

=============================

我本来想把它翻译成汇编或易语言,但遇到一点问题:

 if((style&ES_PASSWORD)!=ES_PASSWORD)

这句里的"&"操作符是什么意思?

请C高手解答,谢谢!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
按位 与 操作
2006-7-22 19:10
0
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
按位与运算,意思是假如style==ES_PASSWORD并且............
你可以直接if(style!=ES_PASSWORD)
2006-7-22 19:12
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
4
最初由 walaog 发布
按位与运算,意思是假如style==ES_PASSWORD并且............
你可以直接if(style!=ES_PASSWORD)


谢谢,我试过啊

但我用GetWindowLong在密码框里取回的结果怎么都和ES_PASSWORD

相差很远呢?

应该是这样吧!

invoke GetWindowLong,@hWindow,GWL_STYLE
                                .if (eax & ES_PASSWORD)
 
  invoke SendMessage,@hWindow,WM_GETTEXT,255,offset szBuffer

......

我怀疑网上的这句有问题!

if((style&ES_PASSWORD)!=ES_PASSWORD)   

应该改为:

if((style&ES_PASSWORD))   //不是密码框

"&" 确实是 位与运算

2006-7-22 19:23
0
雪    币: 235
活跃值: (41)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
如果不是密码框,那下面的注释:得到psw  不是也错了么?
2006-7-22 20:54
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
6
最初由 alpsdew 发布
如果不是密码框,那下面的注释:得到psw 不是也错了么?


我前面说错了,应该改为:

if(!(style&ES_PASSWORD))   //不是密码框

前面掉了个"!", 取反
2006-7-25 17:58
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
7
最初由 非安全 发布
我前面说错了,应该改为:

if(!(style&ES_PASSWORD)) //不是密码框


前面掉了个"!", 取反


!号不是取反,是取非,取反是~
2006-7-25 20:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
好好复习一下C了,
2006-7-27 21:12
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
9
最初由 鸿飞九天 发布
好好复习一下C了,


我根本还没学C,猜的,呵呵



2006-7-28 16:25
0
游客
登录 | 注册 方可回帖
返回
//