Link to home
Start Free TrialLog in
Avatar of BHForum
BHForum

asked on

HTA file - Clear password field when run...or even close window

I found the HTA script somewhere on the Exchange that prompts for user and password to map a drive. I modified the HTA to ask for password only to mount a TrueCrypt volume. What I would like is for either the password field to reset when you click the Open Volume button...or better yet, close the window.  I am wondering if you can combine more than one thing to run at the "onClick=" for the button.

Thanks!
<head>
<title>Run Script</title>
<HTA:APPLICATION 
     APPLICATIONNAME="Open Encrypted File"
     BORDER="thin"
     SCROLL="no"
     SINGLEINSTANCE="yes"
     WINDOWSTATE="normal"
>
</head>
 
<script language="VBScript">
 
Sub Window_onLoad
	intWidth = 400
	intHeight = 300
	Me.ResizeTo intWidth, intHeight
    Me.MoveTo ((Screen.Width / 2) - (intWidth / 2)),((Screen.Height / 2) - (intHeight / 2))
End Sub

'Set 
Sub Default_Buttons
	If Window.Event.KeyCode = 13 Then
		btn_runscript.Click
	End If
End Sub
 
Sub RunScript
	If Trim(txt_password.Value) = "" Then
		MsgBox "Please enter a password."
		txt_password.Focus
	Else
		strPassword = txt_password.Value
		
 
Set objShell = CreateObject("WScript.Shell")
objShell.Run "c:\truecrypt.exe /v c:\testvol.100 /letter x: /auto /password " & strPassword

	End If
End Sub
 
</script>
 
<body style="background-color:#B0C4DE; font-family: arial" onkeypress='vbs:Default_Buttons'>
	<table width='90%' height = '100%' align='center' border='0'>
		<tr>
			<td align='center'>
				<h2>Enter Encrypted File Password</h2>
			</td>
		</tr>
		<tr>
			<td>
				Pasword:<br>
				<input type="password" maxlength="30" size="40" id="txt_password" name="txt_password"><br><br>
			</td>
		</tr>
		<tr>
			<td align='center'>
				<input type="button" value="Open Volume" name="btn_runscript"  onClick="vbs:RunScript">&nbsp&nbsp&nbsp&nbsp&nbsp
				<input type="button" value="Exit" name="btn_exit"  onClick="vbs:window.close"><br><br>
			</td>
		</tr>
	</table>
 
</body>

Open in new window

Avatar of BHForum
BHForum

ASKER

...one other thing. What would I need to do so that the password field has focus when the form is opened?

Thanks again!
ASKER CERTIFIED SOLUTION
Avatar of Mike Tomlinson
Mike Tomlinson
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Just to answer your other question, to clear the password box use:

    txt_password.Value = ""
Avatar of BHForum

ASKER

Idle_Mind:

Thanks. The focus works perfect but I get "Error: Object doesn't support this property or method: 'btn_exit.Click'"
Hmm...I just copied and pasted your supplied code into a .txt file and renamed it .hta.  Then I simply added "btn_exit.Click" to that 'Else' block after commenting out the Run() line.  It correctly closed after clicking the button...

I'm running Win 7 Pro x64.
Instead of
            btn_exit.Click

just use
            window.close

Regards,

Rob.
Avatar of BHForum

ASKER

Got it. My bad. I did a copy paste to add another button and didn't change the button name. There were duplicate btn_exit names. Everything works perfectly.

Thanks a bunch!
Thanks for the post Rob...I'm definitely no HTA expert.  I assume that "window.close" would work no matter what since it doesn't rely on a specific button name?
Yes, that's right.  It can be called anywhere.

Rob.