View Full Version : [VB] asterischi in una inputbox
djdedo86
30-11-2007, 11:43
Salve ragazzi, praticamente devo richiedere una password ad un utente tramite la inputbox, solo che vorrei cambiare i caratteri digitati con degli asterischi. C'è un modo per fare questo in visual basic? E' un opzione della funzione inputbox?
grazie
Salve ragazzi, praticamente devo richiedere una password ad un utente tramite la inputbox, solo che vorrei cambiare i caratteri digitati con degli asterischi. C'è un modo per fare questo in visual basic? E' un opzione della funzione inputbox?
grazie
si lo puoi fare:
guarda quì
http://blog.shareoffice.it/giannigiaccaglini/archive/2006/05/23/5659.aspx
djdedo86
30-11-2007, 15:19
sai anche se c'è un modo per farlo direttamente con la inputbox?
Se c'è qualche opzione particolare?
Grazie per la risposta comunque
ciao djdedo,
fai così:
Inserisci il seguente codice in un modulo .bas:
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
********************
Inserisci questo codice nell'evento Click di un Button (Command1_Click, per esempio):
Dim ret As String
SetTimer hwnd, NV_INPUTBOX, 10, AddressOf TimerProc
ret = InputBox("Enter Password")
MsgBox ret
Fammi sapere.
djdedo86
01-12-2007, 14:29
Ehi grazie shell32, con il tuo codice ho ottenuto proprio quello che avevo in mente...;)
grazie ancora dell'aiuto!!!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.