• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 654
  • Last Modified:

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

0
BHForum
Asked:
BHForum
  • 4
  • 3
  • 2
1 Solution
 
BHForumAuthor Commented:
...one other thing. What would I need to do so that the password field has focus when the form is opened?

Thanks again!
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
To give the password field focus:
Sub Window_onLoad
	intWidth = 400
	intHeight = 300
	Me.ResizeTo intWidth, intHeight
	Me.MoveTo ((Screen.Width / 2) - (intWidth / 2)),((Screen.Height / 2) - (intHeight / 2))
        txt_password.Focus
End Sub

Open in new window


And to make it exit afterwards:
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
                
		btn_exit.Click
	End If
End Sub

Open in new window

0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Just to answer your other question, to clear the password box use:

    txt_password.Value = ""
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
BHForumAuthor Commented:
Idle_Mind:

Thanks. The focus works perfect but I get "Error: Object doesn't support this property or method: 'btn_exit.Click'"
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
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.
0
 
RobSampsonCommented:
Instead of
            btn_exit.Click

just use
            window.close

Regards,

Rob.
0
 
BHForumAuthor Commented:
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!
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
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?
0
 
RobSampsonCommented:
Yes, that's right.  It can be called anywhere.

Rob.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now