Code:
'Set the input of an input box to password characters
'---bas module code--
Option Explicit
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Public Declare Function SetTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&, ByVal uElapse&, ByVal lpTimerFunc&)
Public Declare Function KillTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&)
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const NV_INPUTBOX As Long = &H5000&
Public Const EM_SETPASSWORDCHAR = &HCC
Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&)
Dim myHwnd As Long
'Change here App.Title (defoult InputBox Caption) into your caption
myHwnd = FindWindowEx(FindWindow("#32770", App.Title), 0, "Edit", "")
Call SendMessage(myHwnd, EM_SETPASSWORDCHAR, 42, 0)
KillTimer hwnd, idEvent
End Sub
'--Using - form code:
Private Sub Command1_Click()
Dim sPass As String
SetTimer hwnd, NV_INPUTBOX, 10, AddressOf TimerProc
sPass = InputBox("Set Password")
End Sub