InputBox per Password

 

L'inserimento della password avviene sempre in modo che i caratteri imputati non siano visibili e siano nascosti da caratteria quali ad esempio l'asterisco, la dieresi, la chiocciola oppure da pallini.

 

Il vbs nativo per registrare informazioni dall'utente utilizza la InputBox. Questa funzione visulizza un Popup che contiene un'area per digitare il Testo (TextBox). Questa funzione però non ha un parametro che indica che il testo deve essere "criptato". Per ovviare a questo è possibile simulare la InputBox creando una DialogBox contenente una TextBox che conterrà un testo nascosto.

 

La DialogBox che andiamo a creare sarà fatta tramite la InternetExplorer Application. Sarà quindi un browser che conterrà un'area di Input di tipo Password.

 

Questo codice è stato reperito in rete e NON è di mia creazione. Eccolo qui:

 

'*************************************************

'**********************  M A I N ********************

'*************************************************

Dim strPW

strPW = GetPassword("Inserire la Password: ")

msgbox "La tua password è: " & strPW

'*************************************************

'**************   F I N E   M A I N  ********************

'*************************************************

 

 

'*************************************************

'**********        Funzione GetPassword           ************

'*************************************************

Function GetPassword( myPrompt )
' This function uses Internet Explorer to
' create a dialog and prompt for a password.
'
' Argument:   [string] prompt text, e.g. "Please enter password:"
' Returns:    [string] the password typed in the dialog screen
'
' Written by Rob van der Woude
' http://www.robvanderwoude.com
' Error handling code written by Denis St-Pierre

    Dim objIE
    ' Create an IE object
    Set objIE = CreateObject( "InternetExplorer.Application" )
    ' specify some of the IE window's settings
    objIE.Navigate "about:blank"
    objIE.Document.Title = "Form per inserimento Password" & String( 100, vbTab )
    objIE.ToolBar        = False
    objIE.Resizable      = False
    objIE.StatusBar      = False
    objIE.Width          = 320
    objIE.Height         = 180
    ' Center the dialog window on the screen
    With objIE.Document.ParentWindow.Screen
        objIE.Left = (.AvailWidth  - objIE.Width ) \ 2
        objIE.Top  = (.Availheight - objIE.Height) \ 2
    End With

    ' Wait till IE is ready
    Do While objIE.Busy
        WScript.Sleep 200
    Loop

    ' Insert the HTML code to prompt for a password
    objIE.Document.Body.InnerHTML = "<DIV ALIGN=""center""><P>" & myPrompt _
                                  & "</P>" & vbCrLf _
                                  & "<P><INPUT TYPE=""password"" SIZE=""20"" " _
                                  & "ID=""Password""></P>" & vbCrLf _
                                  & "<P><INPUT TYPE=""hidden"" ID=""OK"" " _
                                  & "NAME=""OK"" VALUE=""0"">" _
                                  & "<INPUT TYPE=""submit"" VALUE="" OK "" " _
                                  & "OnClick=""VBScript:OK.Value=1""></P></DIV>"

    ' Make the window visible
    objIE.Visible = True

 

    objIE.Document.All.Password.Focus

 

    ' Wait till the OK button has been clicked
    On Error Resume Next
    Do While objIE.Document.All.OK.Value = 0
        WScript.Sleep 200

        ' Error handling code by Denis St-Pierre
        If Err Then    'user clicked red X (or alt-F4) to close IE window
            IELogin = Array( "", "" )
            objIE.Quit
            Set objIE = Nothing
            Exit Function
        End if
    Loop
    On Error Goto 0

    ' Read the password from the dialog window
    GetPassword = objIE.Document.All.Password.Value

    ' Close and release the object
    objIE.Quit
    Set objIE = Nothing
End Function

'*************************************************

 

______________________________________________________________________

 

Pag: >    >>