Code: Select all
; Password request dialog with customizable window title & prompt text, and a masking toggle.
GetPassword(PassText:="What is your password?", PassTitle:="Password Prompt", UnHide:="0")
{
If UnHide != 0
UnHide = 1
Global MyPassword
Gui, MPP:New, +HwndMPPGuiHWND
Gui, +LastFound
Gui, Add, Text, XM+5 R1 w200, %PassText%
If Unhide != 0
Gui, Add, Edit, R1 vMyPassword w150
Else
Gui, Add, Edit, Password R1 vMyPassword w150
Gui, Add, Checkbox, gMPPShowPass h15 w15 Xp+155 YP+3,
Gui, Add, Button, Default R1 W50 XM, &OK
Gui, Add, Button, R1 W50 XP+130, &Cancel
If Unhide = 0
Gosub MPPShowPass
Gui, MPP:Show, W200, %PassTitle%
Gui MPP:+AlwaysOnTop -SysMenu
WinWaitClose, AHK_id %MPPGuiHWND%
Return MyPassword
; End main GetPassword function.
; Begin GetPassword GUI sub-routines.
MPPGuiEscape:
MPPGuiClose:
MPPButtonCancel:
Gui, MPP:Destroy
MyPassword :=
Return
MPPButtonOK:
Gui, MPP:Submit
Gui, MPP:Destroy
Return
MPPShowPass:
Gui, MPP:Submit, NoHide
GuiControlGet, RadioState, , Button1
If RadioState = 1
{
GuiControl, MPP: -Password, Edit1
}
Else
{
GuiControl, MPP: +Password, Edit1
}
GuiControl, MPP:, Edit1, %MyPassword%
GuiControl, MPP:Focus, Edit1
ControlSend, Edit1, {End}
Return
; End GetPassword GUI sub-routines.
}