Postada em 22/11/2012 12:39 hs
faça o seguinte em um módulo cole
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Private 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&)
Private Declare Function KillTimer& Lib "user32" _ (ByVal hwnd&, ByVal nIDEvent&)
Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long
Const EM_SETPASSWORDCHAR = &HCC Public Const NV_INPUTBOX As Long = &H5000&
Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, _ ByVal idEvent&, ByVal dwTime&)
Dim EditHwnd As Long
' CHANGE APP.TITLE TO YOUR INPUT BOX TITLE.
EditHwnd = FindWindowEx(FindWindow("#32770", App.Title), _ 0, "Edit", "")
Call SendMessage(EditHwnd, EM_SETPASSWORDCHAR, Asc("*"), 0) KillTimer hwnd, idEvent End Sub
depois coloque em um commandbutton o seguinte
Private Sub Command1_Click() Dim ret As String SetTimer hwnd, NV_INPUTBOX, 10, AddressOf TimerProc ret = InputBox("Enter Password") MsgBox ret End Sub
repare que ao digitar no inputbox aparecem apenas os caracteres *, porém na variavel ret é armazenado sua senha.
boa sorte
|