当前位置:编程学习 > VB >>

求助:如何让别人读不到密码字符

用WM_GETTEXT可以读取文本框中的密码字符(*),怎样屏蔽这个功能呢?EDIT在设为PASSCHAR后可以,但VB6的TEXTBOX设置PASSWORDCHAR属性后不行,不知大家是怎样解决的?谢谢指教 --------------------编程问答-------------------- mask ? maskedit
属性
--------------------编程问答-------------------- 抛砖引玉,我先来一种简单的方法:子类化控件,然后将WM_GETTEXT消息给XX了! --------------------编程问答-------------------- 看change事件中,用户按下一个键就把这个键放到变量中,以此类推,让文本框中永为*号。 --------------------编程问答--------------------
引用 3 楼 ptzxzc 的回复:
看change事件中,用户按下一个键就把这个键放到变量中,以此类推,让文本框中永为*号。

同意……
^_^
--------------------编程问答--------------------
引用 1 楼 wsz1997 的回复:
mask ? maskedit
属性

是VC的EDIT控件 --------------------编程问答--------------------
引用 3 楼 ptzxzc 的回复:
看change事件中,用户按下一个键就把这个键放到变量中,以此类推,让文本框中永为*号。

呵呵,谢谢。我觉着这个方法不错,有创意,不过如果输错了,还要用个专门的方法重新初始变量。
不知道研究过VC的EDIT控件吗?它的为何读不出呢? --------------------编程问答--------------------
引用 2 楼 yimins 的回复:
抛砖引玉,我先来一种简单的方法:子类化控件,然后将WM_GETTEXT消息给XX了!

水有点深,如何自类化控件呢? --------------------编程问答--------------------
引用 6 楼 vbguest 的回复:
引用 3 楼 ptzxzc 的回复:
看change事件中,用户按下一个键就把这个键放到变量中,以此类推,让文本框中永为*号。

呵呵,谢谢。我觉着这个方法不错,有创意,不过如果输错了,还要用个专门的方法重新初始变量。
不知道研究过VC的EDIT控件吗?它的为何读不出呢?


你的回答让我狂汗。。。输错了又怎么了啊?就那么几行代码。。。 --------------------编程问答-------------------- 这个东西还是蛮复杂的吧,放到变量中的话,还要考虑删除字符等情况,还有剪切、粘贴等呢。 --------------------编程问答-------------------- 自定义消息函数,对WM_GETTEXT消息进行过滤 --------------------编程问答--------------------
引用 3 楼 ptzxzc 的回复:
看change事件中,用户按下一个键就把这个键放到变量中,以此类推,让文本框中永为*号。

最好再把文本框换成label,这样选择、删除、粘贴、复制都操作不了,再给个重设按钮,输错了整个重来。 --------------------编程问答-------------------- 去年写过一个使用GDI实现的高强度密码框。
密码文本使用指针随机提取每个数到不同的内存地址存放,所有内存地址按从密码第一个文本到最后一个为文本保存在一数组变量中,使用Hook捕获键盘输入,把用户输入的字符存如内存后就使用TextOutW函数按照变量地址组合并输出文本到界面上。 --------------------编程问答--------------------
引用 10 楼 wangli820 的回复:
自定义消息函数,对WM_GETTEXT消息进行过滤


屏蔽了WM_GETTEXT后,VB能否正常取回内容?一般SDK开发中,取回文本都是使用WM_GETEXT的。。。 --------------------编程问答-------------------- 奉劝楼主不要把有限的生命浪费在无限的加密解密死循环中!
--------------------编程问答--------------------
人家用钩子直接抓键盘码,又如何?

楼主直接使用加密键盘吧。
补充:VB ,  API
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,