Here one approach (don't know if there is a better way) :
#include <GUIConstants.au3>
#include <WinAPIGdi.au3>
GUICreate("Login", 200, 100)
GUICtrlCreateLabel("", 10, 10, 180, 19, $SS_BLACKFRAME)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $idInput = GUICtrlCreateInput("", 13, 11, 154, 17, $ES_PASSWORD, $WS_EX_TOOLWINDOW)
Local $idEye = GUICtrlCreatePic("Hide.bmp", 167, 11, 21, 17), $bHide = True
Local $iDefault = GUICtrlSendMsg($idInput, $EM_GETPASSWORDCHAR, 0, 0)
GUISetState()
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $idEye
$bHide = Not $bHide
GUICtrlSetImage($idEye, $bHide ? "Hide.bmp": "Show.bmp")
GUICtrlSendMsg($idInput, $EM_SETPASSWORDCHAR, $bHide ? $iDefault : 0, 0)
_WinAPI_RedrawWindow(GUICtrlGetHandle($idInput))
EndSwitch
WEnd
bmp here : Eye.zip