返回列表 发帖

让密码轻松显示

你梦想的密码显示程序是什么样子呢?不需要两个窗口之间的切换,不需要图标拖来拖去,只需要移动鼠标到密码框上,密码就会自动显示出来。真的有那么神奇吗?嗯哼,跟着我做吧。   首先,新建一个工程,然而建立一个公共模块,把以下代码贴入其中:   Declare Function SendMessage Lib “user32" Alias “SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long   Declare Function IsWindow Lib “user32" (ByVal hwnd As Long) As Long   Declare Function GetCursorPos Lib “user32" (lpPoint As POINTAPI) As Long   Declare Function WindowFromPoint Lib“user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long   Declare Function InvalidateRect Lib “user32" (ByVal hwnd As Long, lpRect As Any, ByVal bErase As Long) As Long   Type RECT    Left As Long    Top As Long    Right As Long    Bottom As Long   End Type   Type POINTAPI    x As Long    y As Long   End Type   Public Const WM_PAINT = &HF   Public Const EM_SETPASSWORDCHAR = &HCC   Public Const WM_ERASEBKGND = &H14   你可以使用API文本查看器来助你一臂动,但一定要注意InvalidateRect函数中的lpRect参数类型应为Any,而不是Rect类型,否则……,呵呵,你试试就知道了。   接下来,在窗体上放置一个timer控件,把它的interval属性设为1000,也就是每秒一次。然后双击它,写入以下代码:   Private Sub Timer1_Timer()   Dim hwnd As Long   Dim WndIs As Long   Dim temp As Long   Dim CurrentP As POINTAPI   temp = GetCursorPos(CurrentP)   hwnd = WindowFromPoint(CurrentP.x, CurrentP.y)   WndIs = IsWindow(hwnd)   If WndIs <> 0 Then    temp = SendMessage(hwnd, EM_SETPASSWORDCHAR, 0, 0)    temp = InvalidateRect(0, 0, 1)    End If    End Sub    OK,运行它。可是,这窗体上什么也没有,那么怎样才能显示密码?别急,这个窗体没有用了,你可以最小化它,然后打开密码程序,例如“拨号网络",把鼠标移动到它的“*”上面,然后……,怎样?揉一揉眼睛,没错吧!   奥秘在哪儿呢?这个程序向你露出庞大的Windows消息系统的冰山一角,显示出一些鲜为人知的Windows系统的秘密。   众多的VB用户都知道,Windows程序是基于消息驱动的进程。每一个程序都调用了大量的外部模块,很多模块程序代码位于DLL库和ActiveX库中,各种模块通信的过程就是消息响应的过程。文本编辑控件可设置成PassWorChar属性,即成为密码框,它同样需要响应其它消息才能与其它模块进行通讯,比如,它响应——消息,你就可以利用GetWindowText函数取得它的内容(这就是上一个密码程序的原理呀)。同样,它响应EM_SETPASSWORDCHAR消息就可以把它由密码状态还原为初始状态,然后你必须再发送WM_PAINT消息来刷新它,才能完全显示出来。怎样,简单吧。抛砖引玉,你还可以发送其它消息来达到其它的效果。

让密码轻松显示

真得可以吗????????????

TOP

让密码轻松显示

新建一个工程,然而建立一个公共模块,怎摸搞

TOP

让密码轻松显示

这么烦吗。
好象用VC做,更简洁呀。
主要是获取窗口句柄,和取得密码框的类,然后从内存中读取内容。
不知道,对LINUX下的Xwindow,适用吗

TOP

让密码轻松显示

下面引用由三少2003/02/16 06:58pm 发表的内容:
真得可以吗????????????

TOP

让密码轻松显示


   我以前也看到过这样的文章,可惜我不会编程。~

TOP

让密码轻松显示

是呀,很麻烦的呀

TOP

让密码轻松显示

我还是不明白哪位可不可以说明白点呀?

TOP

让密码轻松显示

看不懂!

TOP

让密码轻松显示

我真的是菜啊~~~~~~~~~~~~~~~~~~~~

TOP

让密码轻松显示

真的有用吗?~~~~~~~~~哎反正我没出试过啦~~~~~~~
什么时候有空我试一下了.

TOP

让密码轻松显示

现在没有VB,不然我就试试!

TOP

让密码轻松显示

晕死看不懂

TOP

让密码轻松显示

还没学到,看不懂!!!!!!!

TOP

让密码轻松显示

你能做一个吗?给我们链接~~~

TOP

返回列表 回复 发帖