找回密码
 加入
搜索
查看: 2426|回复: 5

无聊写个会骗人的输入框,或许可以用来做密码输入框,呵呵

[复制链接]
发表于 2012-4-4 01:06:05 | 显示全部楼层 |阅读模式
本帖最后由 Qokelate 于 2012-4-4 01:13 编辑


#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

PwdBox()
MsgBox(0, '你实际输入的是', $UserInput)
Exit

Func PwdBox()
 Global $UserInput, $InputLen
 GUICreate("Form1", 194, 111, 192, 114)
 Global $CtrlID = GUICtrlCreateEdit('', 32, 40, 131, 20)
 Global $hControl = GUICtrlGetHandle($CtrlID)
 GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
 GUISetState(@SW_SHOW)

 Local $nMsg
 While 1
  $nMsg = GUIGetMsg()
  Switch $nMsg
   Case $GUI_EVENT_CLOSE
    ExitLoop
  EndSwitch
 WEnd
EndFunc   ;==>PwdBox

Func WM_COMMAND($hWnd, $msg, $wParam, $lParam)
 Local $iCode = BitShift($wParam, 16)
 Local $ShowStr, $BoxString, $BoxStrLen
 Switch $lParam
  Case $hControl
   Switch $iCode
    Case $EN_CHANGE
     $BoxString = GUICtrlRead($CtrlID)
     $BoxStrLen = StringLen($BoxString)
     If $BoxStrLen < $InputLen Then
      $InputLen -= 1
      $UserInput = StringTrimRight($UserInput, 1)
     Else
      $UserInput &= StringRight($BoxString, 1)
      $InputLen += 1
     EndIf
     For $a = 1 To $InputLen
      $ShowStr &= ChrW(Random(1,65535,1))
     Next
     GUICtrlSetData($CtrlID, $ShowStr)
   EndSwitch
 EndSwitch
 Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND

 楼主| 发表于 2012-4-4 01:16:24 | 显示全部楼层
测试了下  回车=@LF
发表于 2012-4-4 08:00:40 | 显示全部楼层
第10行  global在func内
发表于 2012-4-4 21:06:17 | 显示全部楼层
学习
发表于 2012-4-21 11:53:32 | 显示全部楼层
有空玩玩。
发表于 2012-4-25 16:55:37 | 显示全部楼层
看不懂,但是还是学习一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-25 20:15 , Processed in 0.074000 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表