﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Dynamic Activity Window</title><link>http://www.visualbasicscript.com/</link><description /><copyright>(c) VBScript Forum</copyright><ttl>30</ttl><item><title> RE: Dynamic Activity Window (alienprotein)</title><description>  &lt;font face="times new roman"&gt;&lt;font size="5"&gt;DiGiTAL.SkReAM, Thanks for fixing this to work with IE 7. When last I poached the code IE7 was not on our radar, so I never thought to test it.&amp;nbsp;&amp;nbsp;But&amp;nbsp;after we deplyed IE7&amp;nbsp;three weeks ago, I got to find ou the hard way. &lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s8.gif" alt="" /&gt;&lt;/font&gt;&lt;/font&gt; &lt;br&gt;  &lt;font face="times new roman"&gt;&lt;font size="5"&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp; &lt;br&gt;  &lt;font face="times new roman"&gt;&lt;font size="5"&gt;I did have to butcher it a little to work for non privileged users by changing the references to HKLM, to HKCU and also forcing the *.hta, *.run, and *sleep.vbs files to be generated under %userprofile%\local settings\temp. Not sure if your intention was to randomly generate a folder at the root of the C drive, or not, but our people are unable to write to that location. &lt;/font&gt;&lt;/font&gt;&lt;font face="times new roman"&gt;&lt;font size="5"&gt;So just for Sh*ts and giggles, I'm posting my rendition of this script.&lt;/font&gt;&lt;/font&gt; &lt;br&gt;  &lt;font face="times new roman"&gt;Again, much thanks to you and everyone who contributes on this forum. &lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s5.gif" alt="" /&gt;&lt;/font&gt; &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 
 Option Explicit 
 Dim StrPath
 Dim WshShell
 Dim oBar
 Dim objNetwork, colDrives, i, ReturnCode
 Set objNetwork = CreateObject("Wscript.Network")
 Set colDrives = objNetwork.EnumNetworkDrives
 WScript.Sleep (2000)
 
 'On Error Resume Next
 Set oBar = New ProgressBar
 Set WshShell = WScript.CreateObject("WScript.Shell")
 oBar.StartBar "This is doing something"
 WScript.Sleep (3000)
 '&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WshShell.Run("""\\path\SOMESCRIPT.VBS""")
 'ReturnCode = WshShell.Run("""\\path\SOMESCRIPT.VBS""", 1, True)
 oBar.SetLine "Now it's done......"
 WScript.Sleep (3000)
 oBar.CloseBar
 Class ProgressBar
 Dim oBarCat, sProgressBarHTAFile, sProgressBarRunFile, sProgressBarSleepFile, sInitialTempBuild 
 Public Sub StartBar(sMessageToDisplay)
 Dim sInitialTemp
 ExecuteGlobal "Dim oShell, oFSO, oEnv"
 Set oShell = CreateObject("Wscript.Shell")
 Set oFSO = CreateObject("Scripting.FileSystemObject")
 Set oEnv = oShell.Environment("Process")
 sInitialTemp = fGetTempName
 sProgressBarHTAFile = Left(sInitialTemp,(Len(sInitialTemp)-4)) &amp;amp; ".hta"
 sProgressBarRunFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; ".run"
 sProgressBarSleepFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; "sleep.vbs"
 Set oBarCat = CreateObject("Scripting.Dictionary")
 oBarCat.Add oBarCat.Count, "&amp;lt;html&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;title id=" &amp;amp; Chr(34) &amp;amp; "title" &amp;amp; Chr(34) &amp;amp; "&amp;gt;Waters &amp;amp; Kraus Login&amp;lt;/title&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;HTA:APPLICATION "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; ID=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; APPLICATIONNAME=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SCROLL=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SINGLEINSTANCE=" &amp;amp; Chr(34) &amp;amp; "YES" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; CAPTION=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDER=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDERSTYLE=" &amp;amp; Chr(34) &amp;amp; "NORMAL" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSMENU=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTEXTMENU=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SHOWINTASKBAR=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;SCRIPT Language=" &amp;amp; Chr(34) &amp;amp; "VBScript" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, "Dim oShell, iTimer1, iTimer2, sStatusBarAsciiText, sPID, iCID, sStatusMsg"
 oBarCat.Add oBarCat.Count, "Set oShell = CreateObject(" &amp;amp; Chr(34) &amp;amp; "Wscript.Shell" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "sPID = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ":iCID = 10"
 oBarCat.Add oBarCat.Count, "Sub Window_Onload"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; window.resizeTo 320,170"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, " CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").OpenTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ",2).WriteLine " &amp;amp; Chr(34) &amp;amp; "WScript.Sleep(1000)" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " iTimer1 = window.setInterval(" &amp;amp; Chr(34) &amp;amp; "Do_Refresh" &amp;amp; Chr(34) &amp;amp; ",175)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; iTimer2 = window.setInterval(" &amp;amp; Chr(34) &amp;amp; "Do_Nothing" &amp;amp; Chr(34) &amp;amp; ",500)"
 oBarCat.Add oBarCat.Count, "End Sub"
 oBarCat.Add oBarCat.Count, "Sub Do_Nothing"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; If CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").FileExists(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ") Then"&amp;nbsp; 
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Dim oWMIService, cItems, oItem"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Set oWMIService = GetObject(" &amp;amp; Chr(34) &amp;amp; "winmgmts:\\.\root\CIMV2" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Set cItems = oWMIService.ExecQuery(" &amp;amp; Chr(34) &amp;amp; "SELECT Name, ExecutablePath, CommandLine FROM Win32_Process where Name = 'mshta.exe'" &amp;amp; Chr(34) &amp;amp; ")" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; For Each oItem in cItems" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; If oItem.CommandLine = document.Location.pathname Then" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate oItem.Handle" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; End If" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; Next" 
 oBarCat.Add oBarCat.Count, " Else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ", True "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; window.clearInterval(iTimer1)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; window.clearInterval(iTimer2)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; self.Close"
 oBarCat.Add oBarCat.Count, " End If"
 oBarCat.Add oBarCat.Count, "End Sub"
 oBarCat.Add oBarCat.Count, "Sub Do_Refresh"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Select Case iCID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; Case 10"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =" &amp;amp; Chr(34) &amp;amp; "ooooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ":iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ":iCID = 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ":iCID = 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "noooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ":iCID = 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ":iCID = 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ":iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; End Select "
 oBarCat.Add oBarCat.Count, " Stats.innerHTML = sStatusBarAsciiText"
 oBarCat.Add oBarCat.Count, " On Error Resume Next"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKCU\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iRegErr = Err.Number"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Goto 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iRegErr = 0 then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = Replace(oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKCU\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; "), VbCrLf," &amp;amp; Chr(34) &amp;amp; "&amp;lt;br&amp;gt;" &amp;amp; Chr(34) &amp;amp; ") "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End if"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; MyMsg.innerHTML = sStatusMsg"
 oBarCat.Add oBarCat.Count, " End Sub"
 oBarCat.Add oBarCat.Count, "&amp;lt;/SCRIPT&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;style&amp;gt;"
 oBarCat.Add oBarCat.Count, "body,td,a {font-family:Arial;font-size:12px;text-decoration:none;color:black;}"
 oBarCat.Add oBarCat.Count, "body {filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#9999FF', EndColorStr='#FFFFFF')}"
 oBarCat.Add oBarCat.Count, ".pix {width: 1px; height 1px;}"
 oBarCat.Add oBarCat.Count, "&amp;lt;/style&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;table width=" &amp;amp; Chr(34) &amp;amp; "275" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;fieldset&amp;gt;&amp;lt;legend align=" &amp;amp; Chr(34) &amp;amp; "center" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;b&amp;gt; Waters &amp;amp; Kraus Login &amp;lt;/b&amp;gt;&amp;lt;/legend&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br&amp;gt;&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span id= " &amp;amp; Chr(34) &amp;amp; "Stats" &amp;amp; Chr(34) &amp;amp; " style=" &amp;amp; Chr(34) &amp;amp; "font-family: wingdings;font-weight: bold;font-size:20px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;/fieldset&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/table&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;span id= " &amp;amp; Chr(34) &amp;amp; "MyMsg" &amp;amp; Chr(34) &amp;amp; " style=" &amp;amp; Chr(34) &amp;amp; "font-family: Ariel;font-size:12px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/html&amp;gt;"
 subWriteFile sProgressBarHTAFile, Join(oBarCat.Items,VbCrLf)
 oShell.RegWrite "HKCU\SYSTEM\ProgressBar\MSG", sMessageToDisplay, "REG_SZ"
 oShell.Run sProgressBarHTAFile, 1, False 
 End Sub
 Public Sub CloseBar()
 fKillFile sProgressBarRunFile
 Dim sProgressBarHTAFileKiller
 subKillRegKey "HKCU\SYSTEM\ProgressBar","DELETE"
 sProgressBarHTAFileKiller = "c:\temp\htakiller.vbs"
 subWriteFile sProgressBarHTAFileKiller, "On Error Resume Next"
 subWriteFile sProgressBarHTAFileKiller, "wscript.sleep(10000)"
 subWriteFile sProgressBarHTAFileKiller, "Set oFSO = CreateObject(""Scripting.FileSystemObject"")"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFile &amp;amp; Chr(34) &amp;amp; ", True"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFolder " &amp;amp; Chr(34) &amp;amp; oFSO.GetDriveName(oEnv("TEMP")) &amp;amp; "\" &amp;amp; sInitialTempBuild &amp;amp; Chr(34) &amp;amp; ", True"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFileKiller &amp;amp; Chr(34) &amp;amp; ", True"
 oShell.Run "%comspec% /c cscript.exe " &amp;amp; sProgressBarHTAFileKiller, 0, False 
 End Sub
 Public Sub SetLine(sNewText)
 oShell.RegWrite "HKCU\SYSTEM\ProgressBar\MSG", sNewText, "REG_SZ"
 End Sub
 Private Function fGetTempName()
 Dim iFilenameCharacters, iHighestASCiiValue, iLowestASCiiValue
 Dim iCharASCiiValue, sTmpFileName, oTempNameDic
 Set oTempNameDic = CreateObject("Scripting.Dictionary")
 iFilenameCharacters = 8
 iHighestASCiiValue = 126
 iLowestASCiiValue = 46
 sTmpFileName = ""
 &amp;nbsp; Randomize
 Do
 &amp;nbsp;&amp;nbsp;&amp;nbsp; iCharASCiiValue = Int(((iHighestASCiiValue - iLowestASCiiValue + 1) * Rnd) + iLowestASCiiValue)&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case True
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 47
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 57 And iCharASCiiValue &amp;lt; 95
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 96
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 122 And iCharASCiiValue &amp;lt; 126
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oTempNameDic.Add oTempNameDic.Count,Chr(iCharASCiiValue)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select
 Loop While oTempNameDic.Count &amp;lt; iFilenameCharacters
 fGetTempName = oEnv("TEMP") &amp;amp; "\" &amp;amp; Join(oTempNameDic.Items,"") &amp;amp; ".tmp"
 oTempNameDic.RemoveAll
 End Function
 '*************************************************************
 
 Private Function fKillFile(sFileToKill)
 Dim iErr, sErr
 Select Case True
 Case InStr(sFileToKill, "*") &amp;lt;&amp;gt; 0
 If oFSO.FolderExists(oFSO.GetParentFolderName(sFileToKill)) Then 
 &amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp; oFSO.DeleteFile sFileToKill, True 
 &amp;nbsp;&amp;nbsp; iErr = Err.Number
 &amp;nbsp;&amp;nbsp; sErr = Err.Description
 &amp;nbsp; On Error GoTo 0 
 &amp;nbsp;&amp;nbsp; If iErr = 53 Then iErr = 0
 End If 
 Case oFSO.FileExists(sFileToKill)
 On Error Resume Next 
 oFSO.DeleteFile sFileToKill, True 
 iErr = Err.Number
 sErr = Err.Description
 On Error GoTo 0
 End Select
 Select Case iErr
 Case 0
 fKillFile = 0
 Case Else
 fKillFile = sErr
 End Select 
 End Function
 Private Function fRand(iLowerLimit,iUpperLimit)
 ExecuteGlobal "Dim bRandomized"
 If bRandomized &amp;lt;&amp;gt; True Then Randomize
 bRandomized = True&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 fRand = Int((iUpperLimit - iLowerLimit + 1)*Rnd() + iLowerLimit) 
 End Function
 Private Sub subWriteFile(sFileToWrite, sTextToWrite)
 Dim oFileToWrite
 subCreateFile sFileToWrite
 Set oFileToWrite = oFSO.OpenTextFile(sFileToWrite,8)
 oFileToWrite.WriteLine sTextToWrite
 oFileToWrite.Close
 End Sub
 Private Sub subCreateFile(sFileToCreate)
 subCreateFolder oFSO.GetParentFolderName(sFileToCreate)
 If Not oFSO.FileExists(sFileToCreate) Then oFSO.CreateTextFile(sFileToCreate)
 End Sub 
 Private Sub subCreateFolder(sFolderPathToCreate)
 If Trim(sFolderPathToCreate) &amp;lt;&amp;gt; "" Then 
 If oFSO.FolderExists(sFolderPathToCreate) Then
 Exit Sub
 Else
 subCreateFolder(oFSO.GetParentFolderName(sFolderPathToCreate))
 End If
 oFSO.CreateFolder(sFolderPathToCreate)
 End If 
 End Sub
 Private Sub subKillRegKey(ByVal sKeyToDelete, sDeleteConfirmation)
 Dim aSubKeys, sSubKey, iSubkeyCheck, sKeyToKill, iElement
 Dim aKeyPathSubSection, hKeyRoot, oWMIReg, sKeyRoot
 Const HKEY_CLASSES_ROOT = &amp;amp;H80000000
 Const HKEY_CURRENT_USER = &amp;amp;H80000001
 Const HKEY_LOCAL_MACHINE = &amp;amp;H80000002
 Const HKEY_USERS = &amp;amp;H80000003
 Const HKEY_CURRENT_CONFIG = &amp;amp;H80000005
 If sDeleteConfirmation &amp;lt;&amp;gt; "DELETE" Then Exit Sub
 aKeyPathSubSection = Split(sKeyToDelete, "\")
 Select Case UCase(aKeyPathSubSection(0))
 Case "HKEY_CLASSES_ROOT", "HKCR"
 hKeyRoot = HKEY_CLASSES_ROOT
 sKeyRoot = "HKEY_CLASSES_ROOT"
 Case "HKEY_CURRENT_USER", "HKCU"
 hKeyRoot = HKEY_CURRENT_USER
 sKeyRoot = "HKEY_CURRENT_USER"
 Case "HKEY_LOCAL_MACHINE", "HKLM"
 hKeyRoot = HKEY_LOCAL_MACHINE
 sKeyRoot = "HKEY_LOCAL_MACHINE"
 Case "HKEY_USERS", "HKU"
 hKeyRoot = HKEY_USERS
 sKeyRoot = "HKEY_USERS"
 Case "HKEY_CURRENT_CONFIG"
 hKeyRoot = HKEY_CURRENT_CONFIG
 sKeyRoot = "HKEY_CURRENT_CONFIG"
 Case Else
 subKillRegKey = 1
 Exit Sub
 End Select 
 For iElement = 1 To UBound(aKeyPathSubSection)
 sKeyToKill = sKeyToKill &amp;amp; "\" &amp;amp; aKeyPathSubSection(iElement)&amp;nbsp;&amp;nbsp; 
 Next
 If Left(sKeyToKill,1) = "\" Then sKeyToKill = Right(sKeyToKill, Len(sKeyToKill)-1)
 On Error Resume Next
 Set oWMIReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
 iSubkeyCheck = oWMIReg.EnumKey(hKeyRoot, sKeyToKill, aSubKeys)
 If iSubkeyCheck = 0 And IsArray(aSubKeys) Then
 For Each sSubKey In aSubKeys
 &amp;nbsp;&amp;nbsp; If Err.Number &amp;lt;&amp;gt; 0 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Err.Clear
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp;&amp;nbsp; End If
 &amp;nbsp; subKillRegKey sKeyRoot &amp;amp; "\" &amp;amp; sKeyToKill &amp;amp; "\" &amp;amp; sSubKey, "DELETE"
 Next
 End If
 oWMIReg.DeleteKey hKeyRoot, sKeyToKill
 End Sub
 End Class
 &lt;/pre&gt; </description><link>http://www.visualbasicscript.com/fb.ashx?m=66795</link><pubDate>Fri, 21 Nov 2008 11:48:46 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (dm_4ever)</title><description>  Updated your first post...Mountain Dew is a great friend!&lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s6.gif" alt="" /&gt; </description><link>http://www.visualbasicscript.com/fb.ashx?m=57486</link><pubDate>Wed, 05 Mar 2008 08:23:04 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (DiGiTAL.SkReAM)</title><description>  As happens every so often, I learn something. &lt;br&gt;  As&amp;nbsp;happens more often, someone points out an error that I made, prior to the above. &lt;br&gt;  So, in deference to both of the above, I am posting the latest 'iteration' of the progressbar class. &lt;br&gt;  &lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s6.gif" alt="" /&gt; &lt;br&gt;  Changes: &lt;br&gt;  1) Instead of using c:\temp, the code now generates a 16 character folder name at random, and uses that as it's "home".&amp;nbsp;  &lt;br&gt;  This prevents errors when the TEMP folder is emptied during a progressbar run. &lt;br&gt;  2) The htakiller.vbs file is now created in the root of the drive letter in which the %TEMP% variable contains. &lt;br&gt;  3) The code now brings to the forefront only the mshta.exe process that ran the progressbar hta in the first place, rather than the first one it finds in memory. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Thanks to KroBaar for pointing out where I'd gone wrong, and thanks to my good friend Mountain Dew for giving me the wakefullness to spend on correcting the code. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Insomnia is a terrible thing. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Could a Fourm Admin please update the code in the first post in this thread with the code below? &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 Option Explicit 
 Dim oBar
 Set oBar = New ProgressBar
 oBar.StartBar "This is a test."
 WScript.Sleep (3000)
 oBar.SetLine "So is this."
 WScript.Sleep (3000)
 oBar.CloseBar
 Class ProgressBar
 Dim oBarCat, sProgressBarHTAFile, sProgressBarRunFile, sProgressBarSleepFile, sInitialTempBuild 
 Public Sub StartBar(sMessageToDisplay)
 Dim sInitialTemp, i
 ExecuteGlobal "Dim oShell, oFSO, oEnv"
 Set oShell = CreateObject("Wscript.Shell")
 Set oFSO = CreateObject("Scripting.FileSystemObject")
 Set oEnv = oShell.Environment("Process")
 &amp;nbsp;For i = 1 To 16
 &amp;nbsp;sInitialTempBuild = sInitialTempBuild &amp;amp; Chr(fRand(97,122))
 &amp;nbsp;Next
 sInitialTemp = oFSO.GetDriveName(oEnv("TEMP")) &amp;amp; "\" &amp;amp; sInitialTempBuild &amp;amp; "\" &amp;amp; oFSO.GetFileName(fGetTempName)
 sProgressBarHTAFile = Left(sInitialTemp,(Len(sInitialTemp)-4)) &amp;amp; ".hta"
 sProgressBarRunFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; ".run"
 sProgressBarSleepFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; "sleep.vbs"
 Set oBarCat = CreateObject("Scripting.Dictionary")
 oBarCat.Add oBarCat.Count, "&amp;lt;html&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;title id=" &amp;amp; Chr(34) &amp;amp; "title" &amp;amp; Chr(34) &amp;amp; "&amp;gt;Please Wait&amp;lt;/title&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;HTA:APPLICATION "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; ID=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; APPLICATIONNAME=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SCROLL=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SINGLEINSTANCE=" &amp;amp; Chr(34) &amp;amp; "YES" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; CAPTION=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDER=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDERSTYLE=" &amp;amp; Chr(34) &amp;amp; "NORMAL" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSMENU=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTEXTMENU=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SHOWINTASKBAR=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;SCRIPT Language=" &amp;amp; Chr(34) &amp;amp; "VBScript" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, "Dim oShell, iTimer1, iTimer2, sStatusBarAsciiText, sPID, iCID, sStatusMsg"
 oBarCat.Add oBarCat.Count, "Set oShell = CreateObject(" &amp;amp; Chr(34) &amp;amp; "Wscript.Shell" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "sPID = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ":iCID = 10"
 oBarCat.Add oBarCat.Count, "Sub Window_Onload"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; window.resizeTo 320,250"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, " CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").OpenTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ",2).WriteLine " &amp;amp; Chr(34) &amp;amp; "WScript.Sleep(1000)" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " iTimer1 = window.setInterval(" &amp;amp; Chr(34) &amp;amp; "Do_Refresh" &amp;amp; Chr(34) &amp;amp; ",175)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; iTimer2 = window.setInterval(" &amp;amp; Chr(34) &amp;amp; "Do_Nothing" &amp;amp; Chr(34) &amp;amp; ",500)"
 oBarCat.Add oBarCat.Count, "End Sub"
 oBarCat.Add oBarCat.Count, "Sub Do_Nothing"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; If CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").FileExists(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ") Then"&amp;nbsp; 
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Dim oWMIService, cItems, oItem"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Set oWMIService = GetObject(" &amp;amp; Chr(34) &amp;amp; "winmgmts:\\.\root\CIMV2" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Set cItems = oWMIService.ExecQuery(" &amp;amp; Chr(34) &amp;amp; "SELECT Name, ExecutablePath, CommandLine FROM Win32_Process where Name = 'mshta.exe'" &amp;amp; Chr(34) &amp;amp; ")" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp; &amp;nbsp;For Each oItem in cItems" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp; &amp;nbsp;&amp;nbsp;If oItem.CommandLine = document.Location.pathname Then" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;oShell.AppActivate oItem.Handle" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp; &amp;nbsp;&amp;nbsp;End If" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp; &amp;nbsp;Next" 
 oBarCat.Add oBarCat.Count, " Else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ").DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ", True "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; window.clearInterval(iTimer1)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; window.clearInterval(iTimer2)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; self.Close"
 oBarCat.Add oBarCat.Count, " End If"
 oBarCat.Add oBarCat.Count, "End Sub"
 oBarCat.Add oBarCat.Count, "Sub Do_Refresh"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; Select Case iCID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; Case 10"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =" &amp;amp; Chr(34) &amp;amp; "ooooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ":iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ":iCID = 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ":iCID = 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "noooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ":iCID = 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ":iCID = 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ":iCID = 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusBarAsciiText =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ":iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; End Select "
 oBarCat.Add oBarCat.Count, " Stats.innerHTML = sStatusBarAsciiText"
 oBarCat.Add oBarCat.Count, " On Error Resume Next"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKLM\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iRegErr = Err.Number"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Goto 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iRegErr = 0 then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = Replace(oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKLM\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; "), VbCrLf," &amp;amp; Chr(34) &amp;amp; "&amp;lt;br&amp;gt;" &amp;amp; Chr(34) &amp;amp; ") "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End if"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; MyMsg.innerHTML = sStatusMsg"
 oBarCat.Add oBarCat.Count, " End Sub"
 oBarCat.Add oBarCat.Count, "&amp;lt;/SCRIPT&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;style&amp;gt;"
 oBarCat.Add oBarCat.Count, "body,td,a {font-family:Arial;font-size:12px;text-decoration:none;color:black;}"
 oBarCat.Add oBarCat.Count, "body {filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#9999FF', EndColorStr='#FFFFFF')}"
 oBarCat.Add oBarCat.Count, ".pix {width: 1px; height 1px;}"
 oBarCat.Add oBarCat.Count, "&amp;lt;/style&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;table width=" &amp;amp; Chr(34) &amp;amp; "275" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;fieldset&amp;gt;&amp;lt;legend align=" &amp;amp; Chr(34) &amp;amp; "center" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;b&amp;gt; Please Be Patient &amp;lt;/b&amp;gt;&amp;lt;/legend&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br&amp;gt;&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span id= " &amp;amp; Chr(34) &amp;amp; "Stats" &amp;amp; Chr(34) &amp;amp; " style=" &amp;amp; Chr(34) &amp;amp; "font-family: wingdings;font-weight: bold;font-size:20px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;/fieldset&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/table&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;span id= " &amp;amp; Chr(34) &amp;amp; "MyMsg" &amp;amp; Chr(34) &amp;amp; " style=" &amp;amp; Chr(34) &amp;amp; "font-family: Ariel;font-size:12px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/html&amp;gt;"
 subWriteFile sProgressBarHTAFile, Join(oBarCat.Items,VbCrLf)
 oShell.RegWrite "HKLM\SYSTEM\ProgressBar\MSG", sMessageToDisplay, "REG_SZ"
 oShell.Run sProgressBarHTAFile, 1, False 
 End Sub
 Public Sub CloseBar()
 fKillFile sProgressBarRunFile
 Dim sProgressBarHTAFileKiller
 subKillRegKey "HKLM\SYSTEM\ProgressBar","DELETE"
 sProgressBarHTAFileKiller = oFSO.GetDriveName(oEnv("TEMP")) &amp;amp; "\htakiller.vbs"
 subWriteFile sProgressBarHTAFileKiller, "On Error Resume Next"
 subWriteFile sProgressBarHTAFileKiller, "wscript.sleep(10000)"
 subWriteFile sProgressBarHTAFileKiller, "Set oFSO = CreateObject(""Scripting.FileSystemObject"")"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFile &amp;amp; Chr(34) &amp;amp; ", True"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFolder " &amp;amp; Chr(34) &amp;amp; oFSO.GetDriveName(oEnv("TEMP")) &amp;amp; "\" &amp;amp; sInitialTempBuild &amp;amp; Chr(34) &amp;amp; ", True"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFileKiller &amp;amp; Chr(34) &amp;amp; ", True"
 oShell.Run "%comspec% /c cscript.exe " &amp;amp; sProgressBarHTAFileKiller, 0, False 
 End Sub
 Public Sub SetLine(sNewText)
 oShell.RegWrite "HKLM\SYSTEM\ProgressBar\MSG", sNewText, "REG_SZ"
 End Sub
 Private Function fGetTempName()
 Dim iFilenameCharacters, iHighestASCiiValue, iLowestASCiiValue
 Dim iCharASCiiValue, sTmpFileName, oTempNameDic
 Set oTempNameDic = CreateObject("Scripting.Dictionary")
 iFilenameCharacters = 8
 iHighestASCiiValue = 126
 iLowestASCiiValue = 46
 sTmpFileName = ""
 Randomize
 Do
 &amp;nbsp;iCharASCiiValue = Int(((iHighestASCiiValue - iLowestASCiiValue + 1) * Rnd) + iLowestASCiiValue)&amp;nbsp;&amp;nbsp; 
 &amp;nbsp; Select Case True
 &amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 47
 &amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 57 And iCharASCiiValue &amp;lt; 95
 &amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 96
 &amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 122 And iCharASCiiValue &amp;lt; 126
 &amp;nbsp;&amp;nbsp; Case Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp; oTempNameDic.Add oTempNameDic.Count,Chr(iCharASCiiValue)
 &amp;nbsp; End Select
 Loop While oTempNameDic.Count &amp;lt; iFilenameCharacters
 fGetTempName = oEnv("TEMP") &amp;amp; "\" &amp;amp; Join(oTempNameDic.Items,"") &amp;amp; ".tmp"
 oTempNameDic.RemoveAll
 End Function
 Private Function fKillFile(sFileToKill)
 Dim iErr, sErr
 Select Case True
 &amp;nbsp;Case InStr(sFileToKill, "*") &amp;lt;&amp;gt; 0
 &amp;nbsp;&amp;nbsp; If oFSO.FolderExists(oFSO.GetParentFolderName(sFileToKill)) Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oFSO.DeleteFile sFileToKill, True 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = Err.Number
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sErr = Err.Description
 &amp;nbsp;&amp;nbsp;&amp;nbsp; On Error GoTo 0 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iErr = 53 Then iErr = 0
 &amp;nbsp;&amp;nbsp; End If 
 &amp;nbsp;Case oFSO.FileExists(sFileToKill)
 &amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp; oFSO.DeleteFile sFileToKill, True 
 &amp;nbsp;&amp;nbsp; iErr = Err.Number
 &amp;nbsp;&amp;nbsp; sErr = Err.Description
 &amp;nbsp; On Error GoTo 0
 End Select
 Select Case iErr
 &amp;nbsp;Case 0
 &amp;nbsp; fKillFile = 0
 &amp;nbsp;Case Else
 &amp;nbsp; fKillFile = sErr
 End Select 
 End Function
 Private Function fRand(iLowerLimit,iUpperLimit)
 ExecuteGlobal "Dim bRandomized"
 If bRandomized &amp;lt;&amp;gt; True Then Randomize
 bRandomized = True &amp;nbsp;&amp;nbsp;&amp;nbsp;
 fRand = Int((iUpperLimit - iLowerLimit + 1)*Rnd() + iLowerLimit) 
 End Function
 Private Sub subWriteFile(sFileToWrite, sTextToWrite)
 Dim oFileToWrite
 subCreateFile sFileToWrite
 Set oFileToWrite = oFSO.OpenTextFile(sFileToWrite,8)
 oFileToWrite.WriteLine sTextToWrite
 oFileToWrite.Close
 End Sub
 Private Sub subCreateFile(sFileToCreate)
 subCreateFolder oFSO.GetParentFolderName(sFileToCreate)
 If Not oFSO.FileExists(sFileToCreate) Then oFSO.CreateTextFile(sFileToCreate)
 End Sub 
 Private Sub subCreateFolder(sFolderPathToCreate)
 If Trim(sFolderPathToCreate) &amp;lt;&amp;gt; "" Then 
 &amp;nbsp; If oFSO.FolderExists(sFolderPathToCreate) Then
 &amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp; Else
 &amp;nbsp;&amp;nbsp; subCreateFolder(oFSO.GetParentFolderName(sFolderPathToCreate))
 &amp;nbsp; End If
 &amp;nbsp;oFSO.CreateFolder(sFolderPathToCreate)
 End If 
 End Sub
 Private Sub subKillRegKey(ByVal sKeyToDelete, sDeleteConfirmation)
 Dim aSubKeys, sSubKey, iSubkeyCheck, sKeyToKill, iElement
 Dim aKeyPathSubSection, hKeyRoot, oWMIReg, sKeyRoot
 Const HKEY_CLASSES_ROOT = &amp;amp;H80000000
 Const HKEY_CURRENT_USER = &amp;amp;H80000001
 Const HKEY_LOCAL_MACHINE = &amp;amp;H80000002
 Const HKEY_USERS = &amp;amp;H80000003
 Const HKEY_CURRENT_CONFIG = &amp;amp;H80000005
 If sDeleteConfirmation &amp;lt;&amp;gt; "DELETE" Then Exit Sub
 aKeyPathSubSection = Split(sKeyToDelete, "\")
 Select Case UCase(aKeyPathSubSection(0))
 &amp;nbsp;Case "HKEY_CLASSES_ROOT", "HKCR"
 &amp;nbsp; hKeyRoot = HKEY_CLASSES_ROOT
 &amp;nbsp; sKeyRoot = "HKEY_CLASSES_ROOT"
 &amp;nbsp;Case "HKEY_CURRENT_USER", "HKCU"
 &amp;nbsp; hKeyRoot = HKEY_CURRENT_USER
 &amp;nbsp; sKeyRoot = "HKEY_CURRENT_USER"
 &amp;nbsp;Case "HKEY_LOCAL_MACHINE", "HKLM"
 &amp;nbsp; hKeyRoot = HKEY_LOCAL_MACHINE
 &amp;nbsp; sKeyRoot = "HKEY_LOCAL_MACHINE"
 &amp;nbsp;Case "HKEY_USERS", "HKU"
 &amp;nbsp; hKeyRoot = HKEY_USERS
 &amp;nbsp; sKeyRoot = "HKEY_USERS"
 &amp;nbsp;Case "HKEY_CURRENT_CONFIG"
 &amp;nbsp; hKeyRoot = HKEY_CURRENT_CONFIG
 &amp;nbsp; sKeyRoot = "HKEY_CURRENT_CONFIG"
 &amp;nbsp;Case Else
 &amp;nbsp; subKillRegKey = 1
 &amp;nbsp; Exit Sub
 End Select 
 For iElement = 1 To UBound(aKeyPathSubSection)
 &amp;nbsp;sKeyToKill = sKeyToKill &amp;amp; "\" &amp;amp; aKeyPathSubSection(iElement)&amp;nbsp;&amp;nbsp; 
 Next
 If Left(sKeyToKill,1) = "\" Then sKeyToKill = Right(sKeyToKill, Len(sKeyToKill)-1)
 On Error Resume Next
 Set oWMIReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
 iSubkeyCheck = oWMIReg.EnumKey(hKeyRoot, sKeyToKill, aSubKeys)
 &amp;nbsp;If iSubkeyCheck = 0 And IsArray(aSubKeys) Then
 &amp;nbsp;&amp;nbsp; For Each sSubKey In aSubKeys
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Err.Number &amp;lt;&amp;gt; 0 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Err.Clear
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
 &amp;nbsp;&amp;nbsp;&amp;nbsp; subKillRegKey sKeyRoot &amp;amp; "\" &amp;amp; sKeyToKill &amp;amp; "\" &amp;amp; sSubKey, "DELETE"
 &amp;nbsp;&amp;nbsp; Next
 &amp;nbsp;End If
 oWMIReg.DeleteKey hKeyRoot, sKeyToKill
 End Sub
 End Class
 &lt;/pre&gt; &lt;br&gt;  &amp;nbsp; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=57463</link><pubDate>Wed, 05 Mar 2008 03:28:28 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (KroBaar)</title><description>  ehvbs.. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  1.&amp;nbsp; Thanks for the link to that document.&amp;nbsp; I'm embarrassed to say I never really understood how the garbage collector worked in VBScript until I read through that blog and did more research on it.&amp;nbsp; I was simply "blindly" following the advice of other co-workers as they seem to have that rule set in stone.&amp;nbsp; Thanks for the knock on my noggin.&amp;nbsp; ;-) &lt;br&gt;  &amp;nbsp; &lt;br&gt;  2.)&amp;nbsp; Yes, I realized my mistake with the Class_Terminate shortly after posting my message. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  So I guess my only real valid&amp;nbsp;comment then would be the mod. to make the progressbar hta the only hta to be affected by the call to oShell.AppActivate and removing the hard coded path to c:\temp. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  thanks, &lt;br&gt;  KroBaar. &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=56346</link><pubDate>Tue, 05 Feb 2008 14:56:42 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (ehvbs)</title><description>  Hi KroBaar, &lt;br&gt;   &lt;br&gt;  two comments on your comments: &lt;br&gt;   &lt;br&gt;  (1) "Set oWhatever = Nothing" isn't necessary most of the time; see &lt;br&gt;   &lt;br&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://blogs.msdn.com/ericlippert/archive/2004/04/28/122259.aspx" target="_blank" rel="nofollow"&gt;http://blogs.msdn.com/ericlippert/archive/2004/04/28/122259.aspx&lt;/a&gt; &lt;br&gt;   &lt;br&gt;  (2) &lt;b&gt;All&lt;/b&gt; 'destructors' in VBScript are named "Class_Terminate" &lt;br&gt;   &lt;br&gt;  Regards &lt;br&gt;   &lt;br&gt;  ehvbs &lt;br&gt;   &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=56195</link><pubDate>Thu, 31 Jan 2008 10:25:08 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (KroBaar)</title><description>  I know this thread is old, but I just came across this progressbar the other day and I like the way it works, for the most part.&amp;nbsp; I have a few comments regarding it though.&amp;nbsp;  &lt;br&gt;  1). Throughout the code, every pointer to an object created is never set to Nothing when you are finished, this poses a memory leak, does it not?&amp;nbsp; As well as using the If CreateObject(...), how is that object released?&amp;nbsp; Shouldn't it be set to some variable x, then set to Nothing when finished? &lt;br&gt;  2). You mentioned to a user that this code wasn't intended to run inside an HTA, which I agree, however, the code can be executed from within an HTA by used of wscript.shell and the run method.&amp;nbsp; In terms of it killing the mshta.exe process, I acutally couldn't find where you do that, and have noticed that if I have multiple HTA applications running, only progressbar closes.&amp;nbsp; However, your call to oShell.AppActivate causes every HTA application to be activated.&amp;nbsp; To Activate only the progressbar, I modified the code a little.&amp;nbsp; I modified your For loop from: &lt;br&gt;   &lt;br&gt;  oBarCat.Add oBarCat.Count, "Set cItems = oWMIService.ExecQuery(" &amp;amp; Chr(34) &amp;amp; "SELECT Name, ExecutablePath FROM Win32_Process where Name = 'mshta.exe'" &amp;amp; Chr(34) &amp;amp; ")" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; For Each oItem in cItems" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;oShell.AppActivate oItem.Handle" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; Next" &lt;br&gt;   &lt;br&gt;  to: &lt;br&gt;   &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp; Set cItems = oWMIService.ExecQuery(" &amp;amp; Chr(34) &amp;amp; "SELECT Name, ExecutablePath, CommandLine FROM Win32_Process where Name = 'mshta.exe'" &amp;amp; Chr(34) &amp;amp; ")" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; For Each oItem in cItems" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;If oItem.CommandLine = document.Location.pathname Then" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;oShell.AppActivate oItem.Handle" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;End If" &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; Next" &lt;br&gt;   &lt;br&gt;  This will only activate the HTA that matches the filename running the code, hence progressbar. For that to work, I had to change the select statement and add the column CommandLine to the list you were selecting. &lt;br&gt;   &lt;br&gt;  Other mods made: &lt;br&gt;  You hard coded a path on the C: drive which doesn't happen to exist for the workstations at the Corporation I work for: &lt;br&gt;   &lt;br&gt;  sProgressBarHTAFileKiller = "c:\temp\htakiller.vbs" &lt;br&gt;   &lt;br&gt;  so I made use of an object you were using thoughout for the environment variables and changed the line to: &lt;br&gt;   &lt;br&gt;  sProgressBarHTAFileKiller = oEnv("TEMP") &amp;amp; "\htakiller.vbs" &lt;br&gt;   &lt;br&gt;  As well, as mentioned before with setting object pointers to Nothing, couldn't this be handled in the class terminate procedure (which would have to be added of course, ProgressBar_Terminate() )?&amp;nbsp; Other than that, it seems to do what I was looking for.&amp;nbsp; : ) </description><link>http://www.visualbasicscript.com/fb.ashx?m=56194</link><pubDate>Thu, 31 Jan 2008 09:42:47 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (DiGiTAL.SkReAM)</title><description>  The same wayt hat you would call any other external vbs file. &lt;br&gt;  Perform a&amp;nbsp;search in the fora for &lt;br&gt;  filesystemobject &lt;br&gt;  arguments &lt;br&gt;  wscript.shell &lt;br&gt;  and then read some of the docs. &lt;br&gt;  You are looking for a way to run an external vbscript from another, while passing arguments to it.&amp;nbsp; I can provide the class, but it is up to you to learn how to use it in conjunction with your own code.&lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s6.gif" alt="" /&gt; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47358</link><pubDate>Tue, 22 May 2007 07:04:12 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (phil999)</title><description>  ok so i would have to run as an external vbs file?&amp;nbsp; As i know it works that way but based on the following how would i call it? &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 &amp;nbsp;Sub installmediaplayer11
 dim oBar
 set oBar = New ProgressBar
 oBar.StartBar "Now installing some stuff... Be a patient little code-monkey."
 objfso.CopyFile"\\server\sw-package$\Silent_Software_Installs\wmp11-windowsxp-x86-enu.exe", "C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe" 
 winsh.Run("C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe /Q:A /R:N")
 oBar.CloseBar
 End Sub
 
 &lt;/pre&gt; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47320</link><pubDate>Mon, 21 May 2007 15:41:16 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (DiGiTAL.SkReAM)</title><description>  This code was never meant to be run from inside another HTA.&amp;nbsp;  &lt;br&gt;  First off, you are including the example code at the beginning, which includes WScript.Sleep commands that are invalid in an HTA. &lt;br&gt;  Secondly, the section where it tries to bring itself to the forefront performs an appactivate on mshta.exe.&amp;nbsp; Well, if you already have an HTA open, mshta.exe is already being used.&amp;nbsp; When the Progressbar ends, it kills the mshta.exe process - which would kill your original HTA as well. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  It is kinda like saying "This snowsuit doesn't keep me dry when I am snorkeling!&amp;nbsp; Snow is just frozen water, so it should work!&amp;nbsp; How do I fix it?" &lt;br&gt;  The only answer is: don't use it while snorkeling!&lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s6.gif" alt="" /&gt; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47298</link><pubDate>Mon, 21 May 2007 11:47:23 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (ebgreen)</title><description>  I would think about pulling the dictionary creation part out into a seperate script to make it easier to find the problem. </description><link>http://www.visualbasicscript.com/fb.ashx?m=47295</link><pubDate>Mon, 21 May 2007 11:21:41 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (phil999)</title><description>  What i have just before the &amp;lt;/SCRIPT&amp;gt; is &lt;br&gt;   &lt;br&gt;  the class from the first post &lt;br&gt;   &lt;br&gt;  ------------------ &lt;br&gt;   &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 
 Class ProgressBar
 Dim oBarCat, sProgressBarHTAFile, sProgressBarRunFile, sProgressBarSleepFile
 Public Sub StartBar(sMessageToDisplay)
 Dim sInitialTemp
 ExecuteGlobal "Dim oShell, oFSO, oEnv"
 Set oShell = CreateObject("Wscript.Shell")
 Set oFSO = CreateObject("Scripting.FileSystemObject")
 Set oEnv = oShell.Environment("Process")
 sInitialTemp = fGetTempName
 sProgressBarHTAFile = Left(sInitialTemp,(Len(sInitialTemp)-4)) &amp;amp; ".hta"
 sProgressBarRunFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; ".run"
 sProgressBarSleepFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; "sleep.vbs"
 Set oBarCat = CreateObject("Scripting.Dictionary")
 oBarCat.Add oBarCat.Count, "&amp;lt;html&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;title id=" &amp;amp; Chr(34) &amp;amp; "title" &amp;amp; Chr(34) &amp;amp; "&amp;gt;Please Wait&amp;lt;/title&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;HTA:APPLICATION "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; ID=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; APPLICATIONNAME=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SCROLL=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SINGLEINSTANCE=" &amp;amp; Chr(34) &amp;amp; "yes" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; caption=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDER=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDERSTYLE=" &amp;amp; Chr(34) &amp;amp; "normal" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; MAXIMIZEBUTTON=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; MINIMIZEBUTTON=" &amp;amp; Chr(34) &amp;amp; "yes" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSMENU=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTEXTMENU=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; WINDOWSTATE=" &amp;amp; Chr(34) &amp;amp; "normal" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; ShowInTaskBar=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;SCRIPT Language=" &amp;amp; Chr(34) &amp;amp; "VBScript" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, "Set oShell = CreateObject(" &amp;amp; Chr(34) &amp;amp; "Wscript.Shell" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "Set oFSO = CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "Dim strTimer, strTimerCnt, sPID, iCID, sStatusMsg"
 oBarCat.Add oBarCat.Count, "sPID = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "iCID = 10"
 oBarCat.Add oBarCat.Count, " Sub Window_Onload"
 oBarCat.Add oBarCat.Count, " window.resizeTo 320,250"
 oBarCat.Add oBarCat.Count, " Stats " &amp;amp; Chr(34) &amp;amp; "Init" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " document.title = document.title"
 oBarCat.Add oBarCat.Count, " oFSO.CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, " oFSO.CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, " Set oVBS = oFSO.OpenTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ",2)"
 oBarCat.Add oBarCat.Count, " oVBS.WriteLine " &amp;amp; Chr(34) &amp;amp; "WScript.Sleep(1000)" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " oVBS.Close"
 oBarCat.Add oBarCat.Count, "Dim oWMIService, cItems, oItem"
 oBarCat.Add oBarCat.Count, "Set oWMIService = GetObject(" &amp;amp; Chr(34) &amp;amp; "winmgmts:\\.\root\CIMV2" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "Set cItems = oWMIService.ExecQuery(" &amp;amp; Chr(34) &amp;amp; "SELECT Name, ExecutablePath FROM Win32_Process where Name = 'mshta.exe'" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "For Each oItem in cItems"
 oBarCat.Add oBarCat.Count, " sPID = oItem.Handle"
 oBarCat.Add oBarCat.Count, "Next"
 oBarCat.Add oBarCat.Count, " Do While oFSO.FileExists(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; oShell.Run " &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ",0,True"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, " Loop "
 oBarCat.Add oBarCat.Count, " oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ", True "
 oBarCat.Add oBarCat.Count, " Stats " &amp;amp; Chr(34) &amp;amp; "End" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " window.Close"
 oBarCat.Add oBarCat.Count, " End Sub"
 oBarCat.Add oBarCat.Count, " Sub Stats(strStatus)"
 oBarCat.Add oBarCat.Count, " If strStatus = " &amp;amp; Chr(34) &amp;amp; "Init" &amp;amp; Chr(34) &amp;amp; " Then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; strTimer = window.setInterval(" &amp;amp; Chr(34) &amp;amp; "Stats('Run')" &amp;amp; Chr(34) &amp;amp; ", 175)"
 oBarCat.Add oBarCat.Count, " Elseif strStatus = " &amp;amp; Chr(34) &amp;amp; "Run" &amp;amp; Chr(34) &amp;amp; " Then"
 oBarCat.Add oBarCat.Count, "Select Case iCID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 10"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =" &amp;amp; Chr(34) &amp;amp; "ooooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "noooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; End Select "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; document.getElementById(" &amp;amp; Chr(34) &amp;amp; "Stats" &amp;amp; Chr(34) &amp;amp; ").innerHTML = strTimerCnt"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; On Error Resume Next"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKLM\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; iRegErr = Err.Number"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Goto 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; if iRegErr = 0 then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKLM\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; ")" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; End if"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(sStatusMsg) &amp;lt;&amp;gt; " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; " Then "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = Replace(sStatusMsg, VbCrLf, " &amp;amp; Chr(34) &amp;amp; "&amp;lt;br&amp;gt;" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp; End If "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; document.getElementById(" &amp;amp; Chr(34) &amp;amp; "MyMsg" &amp;amp; Chr(34) &amp;amp; ").innerHTML = sStatusMsg"
 oBarCat.Add oBarCat.Count, " Elseif strStatus = " &amp;amp; Chr(34) &amp;amp; "End" &amp;amp; Chr(34) &amp;amp; " Then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; window.clearInterval(strTimer)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; document.getElementById(" &amp;amp; Chr(34) &amp;amp; "Stats" &amp;amp; Chr(34) &amp;amp; ").innerHTML = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " End If"
 oBarCat.Add oBarCat.Count, " End Sub"
 oBarCat.Add oBarCat.Count, "&amp;lt;/SCRIPT&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;style&amp;gt;"
 oBarCat.Add oBarCat.Count, "body,td,a {font-family:Arial;font-size:12px;text-decoration:none;color:black;}"
 oBarCat.Add oBarCat.Count, "body {filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#9999FF', EndColorStr='#FFFFFF')}"
 oBarCat.Add oBarCat.Count, ".pix {width: 1px; height 1px;}"
 oBarCat.Add oBarCat.Count, "&amp;lt;/style&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;table width=" &amp;amp; Chr(34) &amp;amp; "275" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;fieldset&amp;gt;&amp;lt;legend align=" &amp;amp; Chr(34) &amp;amp; "center" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;b&amp;gt; Please Be Patient &amp;lt;/b&amp;gt;&amp;lt;/legend&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br&amp;gt;&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span id=Stats style=" &amp;amp; Chr(34) &amp;amp; "font-family: wingdings;font-weight: bold;font-size:20px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;/fieldset&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/table&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;span id=MyMsg style=" &amp;amp; Chr(34) &amp;amp; "font-family: Ariel;font-size:12px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/html&amp;gt;"
 subWriteFile sProgressBarHTAFile, Join(oBarCat.Items,VbCrLf)
 oShell.RegWrite "HKLM\SYSTEM\ProgressBar\MSG", sMessageToDisplay, "REG_SZ"
 oShell.Run sProgressBarHTAFile, 1, False 
 End Sub
 Public Sub CloseBar()
 fKillFile sProgressBarRunFile
 Dim sProgressBarHTAFileKiller
 subKillRegKey "HKLM\SYSTEM\ProgressBar","DELETE"
 sProgressBarHTAFileKiller = "c:\temp\htakiller.vbs"
 subWriteFile sProgressBarHTAFileKiller, "On Error Resume Next"
 subWriteFile sProgressBarHTAFileKiller, "wscript.sleep(10000)"
 subWriteFile sProgressBarHTAFileKiller, "Set oFSO = CreateObject(""Scripting.FileSystemObject"")"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFile &amp;amp; Chr(34) &amp;amp; ", True"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFileKiller &amp;amp; Chr(34) &amp;amp; ", True"
 oShell.Run sProgressBarHTAFileKiller, 0, False 
 End Sub
 Public Sub SetLine(sNewText)
 oShell.RegWrite "HKLM\SYSTEM\ProgressBar\MSG", sNewText, "REG_SZ"
 End Sub
 Private Function fGetTempName()
 Dim iFilenameCharacters, iHighestASCiiValue, iLowestASCiiValue
 Dim iCharASCiiValue, sTmpFileName, oTempNameDic
 Set oTempNameDic = CreateObject("Scripting.Dictionary")
 iFilenameCharacters = 8
 iHighestASCiiValue = 126
 iLowestASCiiValue = 46
 sTmpFileName = ""
 &amp;nbsp; Randomize
 Do
 &amp;nbsp;&amp;nbsp;&amp;nbsp; iCharASCiiValue = Int(((iHighestASCiiValue - iLowestASCiiValue + 1) * Rnd) + iLowestASCiiValue)&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case True
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 47
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 57 And iCharASCiiValue &amp;lt; 95
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 96
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 122 And iCharASCiiValue &amp;lt; 126
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oTempNameDic.Add oTempNameDic.Count,Chr(iCharASCiiValue)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select
 Loop While oTempNameDic.Count &amp;lt; iFilenameCharacters
 fGetTempName = oEnv("TEMP") &amp;amp; "\" &amp;amp; Join(oTempNameDic.Items,"") &amp;amp; ".tmp"
 oTempNameDic.RemoveAll
 End Function
 Private Function fKillFile(sFileToKill)
 Dim iErr, sErr
 Select Case True
 Case InStr(sFileToKill, "*") &amp;lt;&amp;gt; 0
 &amp;nbsp; If oFSO.FolderExists(oFSO.GetParentFolderName(sFileToKill)) Then 
 &amp;nbsp;&amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; oFSO.DeleteFile sFileToKill, True 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = Err.Number
 &amp;nbsp;&amp;nbsp;&amp;nbsp; sErr = Err.Description
 &amp;nbsp;&amp;nbsp; On Error GoTo 0 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; If iErr = 53 Then iErr = 0
 &amp;nbsp; End If 
 Case oFSO.FileExists(sFileToKill)
 &amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp; oFSO.DeleteFile sFileToKill, True 
 &amp;nbsp;&amp;nbsp; iErr = Err.Number
 &amp;nbsp;&amp;nbsp; sErr = Err.Description
 &amp;nbsp; On Error GoTo 0
 End Select
 Select Case iErr
 Case 0
 &amp;nbsp; fKillFile = 0
 Case Else
 &amp;nbsp; fKillFile = sErr
 End Select 
 End Function
 Private Sub subWriteFile(sFileToWrite, sTextToWrite)
 Dim oFileToWrite
 subCreateFile sFileToWrite
 Set oFileToWrite = oFSO.OpenTextFile(sFileToWrite,8)
 oFileToWrite.WriteLine sTextToWrite
 oFileToWrite.Close
 End Sub
 Private Sub subCreateFile(sFileToCreate)
 subCreateFolder oFSO.GetParentFolderName(sFileToCreate)
 If Not oFSO.FileExists(sFileToCreate) Then oFSO.CreateTextFile(sFileToCreate)
 End Sub 
 Private Sub subCreateFolder(sFolderPathToCreate)
 If Trim(sFolderPathToCreate) &amp;lt;&amp;gt; "" Then 
 &amp;nbsp; If oFSO.FolderExists(sFolderPathToCreate) Then
 &amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp; Else
 &amp;nbsp;&amp;nbsp; subCreateFolder(oFSO.GetParentFolderName(sFolderPathToCreate))
 &amp;nbsp; End If
 oFSO.CreateFolder(sFolderPathToCreate)
 End If 
 End Sub
 Private Sub subKillRegKey(ByVal sKeyToDelete, sDeleteConfirmation)
 Dim aSubKeys, sSubKey, iSubkeyCheck, sKeyToKill, iElement
 Dim aKeyPathSubSection, hKeyRoot, oWMIReg, sKeyRoot
 Const HKEY_CLASSES_ROOT = &amp;amp;H80000000
 Const HKEY_CURRENT_USER = &amp;amp;H80000001
 Const HKEY_LOCAL_MACHINE = &amp;amp;H80000002
 Const HKEY_USERS = &amp;amp;H80000003
 Const HKEY_CURRENT_CONFIG = &amp;amp;H80000005
 If sDeleteConfirmation &amp;lt;&amp;gt; "DELETE" Then Exit Sub
 aKeyPathSubSection = Split(sKeyToDelete, "\")
 Select Case UCase(aKeyPathSubSection(0))
 Case "HKEY_CLASSES_ROOT", "HKCR"
 &amp;nbsp; hKeyRoot = HKEY_CLASSES_ROOT
 &amp;nbsp; sKeyRoot = "HKEY_CLASSES_ROOT"
 Case "HKEY_CURRENT_USER", "HKCU"
 &amp;nbsp; hKeyRoot = HKEY_CURRENT_USER
 &amp;nbsp; sKeyRoot = "HKEY_CURRENT_USER"
 Case "HKEY_LOCAL_MACHINE", "HKLM"
 &amp;nbsp; hKeyRoot = HKEY_LOCAL_MACHINE
 &amp;nbsp; sKeyRoot = "HKEY_LOCAL_MACHINE"
 Case "HKEY_USERS", "HKU"
 &amp;nbsp; hKeyRoot = HKEY_USERS
 &amp;nbsp; sKeyRoot = "HKEY_USERS"
 Case "HKEY_CURRENT_CONFIG"
 &amp;nbsp; hKeyRoot = HKEY_CURRENT_CONFIG
 &amp;nbsp; sKeyRoot = "HKEY_CURRENT_CONFIG"
 Case Else
 &amp;nbsp; subKillRegKey = 1
 &amp;nbsp; Exit Sub
 End Select 
 For iElement = 1 To UBound(aKeyPathSubSection)
 sKeyToKill = sKeyToKill &amp;amp; "\" &amp;amp; aKeyPathSubSection(iElement)&amp;nbsp;&amp;nbsp; 
 Next
 If Left(sKeyToKill,1) = "\" Then sKeyToKill = Right(sKeyToKill, Len(sKeyToKill)-1)
 On Error Resume Next
 Set oWMIReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
 iSubkeyCheck = oWMIReg.EnumKey(hKeyRoot, sKeyToKill, aSubKeys)
 If iSubkeyCheck = 0 And IsArray(aSubKeys) Then
 For Each sSubKey In aSubKeys
 &amp;nbsp;&amp;nbsp; If Err.Number &amp;lt;&amp;gt; 0 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Err.Clear
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp;&amp;nbsp; End If
 &amp;nbsp; subKillRegKey sKeyRoot &amp;amp; "\" &amp;amp; sKeyToKill &amp;amp; "\" &amp;amp; sSubKey, "DELETE"
 Next
 End If
 oWMIReg.DeleteKey hKeyRoot, sKeyToKill
 End Sub
 End Class
 &lt;/pre&gt;  &lt;br&gt;  &amp;nbsp; &lt;br&gt;  I even tried a new hta &lt;br&gt;  &amp;nbsp; &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 &amp;lt;html&amp;gt; 
 &amp;lt;head&amp;gt; 
 &amp;nbsp;&amp;lt;title&amp;gt;Build Doc Rev 2&amp;lt;/title&amp;gt; 
 &amp;nbsp;&amp;lt;HTA:APPLICATION 
 &amp;nbsp;&amp;nbsp; ID="objTest" 
 &amp;nbsp;&amp;nbsp; APPLICATIONNAME="Software Installation" 
 &amp;nbsp;&amp;nbsp; SCROLL="no" 
 &amp;nbsp;&amp;nbsp; SINGLEINSTANCE="yes" 
 &amp;nbsp;&amp;nbsp; SysMenu="no"
 &amp;nbsp;&amp;nbsp; VERSION="2.0"&amp;nbsp;
 &amp;nbsp;&amp;gt; 
 &amp;nbsp;
 &amp;nbsp;&amp;lt;SCRIPT LANGUAGE="VBSCRIPT"&amp;gt;
 Option Explicit 
 Dim oBar
 Set oBar = New ProgressBar
 oBar.StartBar "This is a test."
 WScript.Sleep (3000)
 oBar.SetLine "So is this."
 WScript.Sleep (3000)
 oBar.CloseBar
 
 Class ProgressBar
 Dim oBarCat, sProgressBarHTAFile, sProgressBarRunFile, sProgressBarSleepFile
 Public Sub StartBar(sMessageToDisplay)
 Dim sInitialTemp
 ExecuteGlobal "Dim oShell, oFSO, oEnv"
 Set oShell = CreateObject("Wscript.Shell")
 Set oFSO = CreateObject("Scripting.FileSystemObject")
 Set oEnv = oShell.Environment("Process")
 sInitialTemp = fGetTempName
 sProgressBarHTAFile = Left(sInitialTemp,(Len(sInitialTemp)-4)) &amp;amp; ".hta"
 sProgressBarRunFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; ".run"
 sProgressBarSleepFile = Left(sProgressBarHTAFile, Len(sProgressBarHTAFile)-4) &amp;amp; "sleep.vbs"
 Set oBarCat = CreateObject("Scripting.Dictionary")
 oBarCat.Add oBarCat.Count, "&amp;lt;html&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;title id=" &amp;amp; Chr(34) &amp;amp; "title" &amp;amp; Chr(34) &amp;amp; "&amp;gt;Please Wait&amp;lt;/title&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;HTA:APPLICATION "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; ID=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; APPLICATIONNAME=" &amp;amp; Chr(34) &amp;amp; "StatusBar" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SCROLL=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SINGLEINSTANCE=" &amp;amp; Chr(34) &amp;amp; "yes" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; caption=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDER=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; BORDERSTYLE=" &amp;amp; Chr(34) &amp;amp; "normal" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; MAXIMIZEBUTTON=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; MINIMIZEBUTTON=" &amp;amp; Chr(34) &amp;amp; "yes" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSMENU=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; CONTEXTMENU=" &amp;amp; Chr(34) &amp;amp; "NO" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; WINDOWSTATE=" &amp;amp; Chr(34) &amp;amp; "normal" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; ShowInTaskBar=" &amp;amp; Chr(34) &amp;amp; "no" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;SCRIPT Language=" &amp;amp; Chr(34) &amp;amp; "VBScript" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, "Set oShell = CreateObject(" &amp;amp; Chr(34) &amp;amp; "Wscript.Shell" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "Set oFSO = CreateObject(" &amp;amp; Chr(34) &amp;amp; "Scripting.FileSystemObject" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "Dim strTimer, strTimerCnt, sPID, iCID, sStatusMsg"
 oBarCat.Add oBarCat.Count, "sPID = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "iCID = 10"
 oBarCat.Add oBarCat.Count, " Sub Window_Onload"
 oBarCat.Add oBarCat.Count, " window.resizeTo 320,250"
 oBarCat.Add oBarCat.Count, " Stats " &amp;amp; Chr(34) &amp;amp; "Init" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " document.title = document.title"
 oBarCat.Add oBarCat.Count, " oFSO.CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, " oFSO.CreateTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, " Set oVBS = oFSO.OpenTextFile(" &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ",2)"
 oBarCat.Add oBarCat.Count, " oVBS.WriteLine " &amp;amp; Chr(34) &amp;amp; "WScript.Sleep(1000)" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " oVBS.Close"
 oBarCat.Add oBarCat.Count, "Dim oWMIService, cItems, oItem"
 oBarCat.Add oBarCat.Count, "Set oWMIService = GetObject(" &amp;amp; Chr(34) &amp;amp; "winmgmts:\\.\root\CIMV2" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "Set cItems = oWMIService.ExecQuery(" &amp;amp; Chr(34) &amp;amp; "SELECT Name, ExecutablePath FROM Win32_Process where Name = 'mshta.exe'" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "For Each oItem in cItems"
 oBarCat.Add oBarCat.Count, " sPID = oItem.Handle"
 oBarCat.Add oBarCat.Count, "Next"
 oBarCat.Add oBarCat.Count, " Do While oFSO.FileExists(" &amp;amp; Chr(34) &amp;amp; sProgressBarRunFile &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; oShell.Run " &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ",0,True"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, " Loop "
 oBarCat.Add oBarCat.Count, " oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarSleepFile &amp;amp; Chr(34) &amp;amp; ", True "
 oBarCat.Add oBarCat.Count, " Stats " &amp;amp; Chr(34) &amp;amp; "End" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " window.Close"
 oBarCat.Add oBarCat.Count, " End Sub"
 oBarCat.Add oBarCat.Count, " Sub Stats(strStatus)"
 oBarCat.Add oBarCat.Count, " If strStatus = " &amp;amp; Chr(34) &amp;amp; "Init" &amp;amp; Chr(34) &amp;amp; " Then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; strTimer = window.setInterval(" &amp;amp; Chr(34) &amp;amp; "Stats('Run')" &amp;amp; Chr(34) &amp;amp; ", 175)"
 oBarCat.Add oBarCat.Count, " Elseif strStatus = " &amp;amp; Chr(34) &amp;amp; "Run" &amp;amp; Chr(34) &amp;amp; " Then"
 oBarCat.Add oBarCat.Count, "Select Case iCID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 10"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =" &amp;amp; Chr(34) &amp;amp; "ooooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 2"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 3"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "noooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 5"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "onooo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 6"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oonoo" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 7"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "ooono" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 8"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strTimerCnt =&amp;nbsp; " &amp;amp; Chr(34) &amp;amp; "oooon" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oShell.AppActivate sPID"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; iCID = 1"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; End Select "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; document.getElementById(" &amp;amp; Chr(34) &amp;amp; "Stats" &amp;amp; Chr(34) &amp;amp; ").innerHTML = strTimerCnt"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; On Error Resume Next"
 oBarCat.Add oBarCat.Count, "&amp;nbsp; oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKLM\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; iRegErr = Err.Number"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Goto 0"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; if iRegErr = 0 then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = oShell.RegRead(" &amp;amp; Chr(34) &amp;amp; "HKLM\SYSTEM\ProgressBar\MSG" &amp;amp; Chr(34) &amp;amp; ")" 
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp; End if"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Trim(sStatusMsg) &amp;lt;&amp;gt; " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; " Then "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = Replace(sStatusMsg, VbCrLf, " &amp;amp; Chr(34) &amp;amp; "&amp;lt;br&amp;gt;" &amp;amp; Chr(34) &amp;amp; ")"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sStatusMsg = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, "&amp;nbsp; End If "
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; document.getElementById(" &amp;amp; Chr(34) &amp;amp; "MyMsg" &amp;amp; Chr(34) &amp;amp; ").innerHTML = sStatusMsg"
 oBarCat.Add oBarCat.Count, " Elseif strStatus = " &amp;amp; Chr(34) &amp;amp; "End" &amp;amp; Chr(34) &amp;amp; " Then"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; window.clearInterval(strTimer)"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; document.getElementById(" &amp;amp; Chr(34) &amp;amp; "Stats" &amp;amp; Chr(34) &amp;amp; ").innerHTML = " &amp;amp; Chr(34) &amp;amp; "" &amp;amp; Chr(34) &amp;amp; ""
 oBarCat.Add oBarCat.Count, " End If"
 oBarCat.Add oBarCat.Count, " End Sub"
 oBarCat.Add oBarCat.Count, "&amp;lt;/SCRIPT&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;style&amp;gt;"
 oBarCat.Add oBarCat.Count, "body,td,a {font-family:Arial;font-size:12px;text-decoration:none;color:black;}"
 oBarCat.Add oBarCat.Count, "body {filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#9999FF', EndColorStr='#FFFFFF')}"
 oBarCat.Add oBarCat.Count, ".pix {width: 1px; height 1px;}"
 oBarCat.Add oBarCat.Count, "&amp;lt;/style&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/head&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;table width=" &amp;amp; Chr(34) &amp;amp; "275" &amp;amp; Chr(34) &amp;amp; "&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;fieldset&amp;gt;&amp;lt;legend align=" &amp;amp; Chr(34) &amp;amp; "center" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;b&amp;gt; Please Be Patient &amp;lt;/b&amp;gt;&amp;lt;/legend&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br&amp;gt;&amp;lt;center&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;span id=Stats style=" &amp;amp; Chr(34) &amp;amp; "font-family: wingdings;font-weight: bold;font-size:20px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;nbsp;&amp;nbsp; &amp;lt;/fieldset&amp;gt;"
 oBarCat.Add oBarCat.Count, " &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/table&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;span id=MyMsg style=" &amp;amp; Chr(34) &amp;amp; "font-family: Ariel;font-size:12px;" &amp;amp; Chr(34) &amp;amp; "&amp;gt;&amp;lt;/span&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/body&amp;gt;"
 oBarCat.Add oBarCat.Count, "&amp;lt;/html&amp;gt;"
 subWriteFile sProgressBarHTAFile, Join(oBarCat.Items,VbCrLf)
 oShell.RegWrite "HKLM\SYSTEM\ProgressBar\MSG", sMessageToDisplay, "REG_SZ"
 oShell.Run sProgressBarHTAFile, 1, False 
 End Sub
 Public Sub CloseBar()
 fKillFile sProgressBarRunFile
 Dim sProgressBarHTAFileKiller
 subKillRegKey "HKLM\SYSTEM\ProgressBar","DELETE"
 sProgressBarHTAFileKiller = "c:\temp\htakiller.vbs"
 subWriteFile sProgressBarHTAFileKiller, "On Error Resume Next"
 subWriteFile sProgressBarHTAFileKiller, "wscript.sleep(10000)"
 subWriteFile sProgressBarHTAFileKiller, "Set oFSO = CreateObject(""Scripting.FileSystemObject"")"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFile &amp;amp; Chr(34) &amp;amp; ", True"
 subWriteFile sProgressBarHTAFileKiller, "oFSO.DeleteFile " &amp;amp; Chr(34) &amp;amp; sProgressBarHTAFileKiller &amp;amp; Chr(34) &amp;amp; ", True"
 oShell.Run sProgressBarHTAFileKiller, 0, False 
 End Sub
 Public Sub SetLine(sNewText)
 oShell.RegWrite "HKLM\SYSTEM\ProgressBar\MSG", sNewText, "REG_SZ"
 End Sub
 Private Function fGetTempName()
 Dim iFilenameCharacters, iHighestASCiiValue, iLowestASCiiValue
 Dim iCharASCiiValue, sTmpFileName, oTempNameDic
 Set oTempNameDic = CreateObject("Scripting.Dictionary")
 iFilenameCharacters = 8
 iHighestASCiiValue = 126
 iLowestASCiiValue = 46
 sTmpFileName = ""
 &amp;nbsp;&amp;nbsp; Randomize
 &amp;nbsp;Do
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iCharASCiiValue = Int(((iHighestASCiiValue - iLowestASCiiValue + 1) * Rnd) + iLowestASCiiValue)&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select Case True
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 47
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 57 And iCharASCiiValue &amp;lt; 95
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue = 96
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case iCharASCiiValue &amp;gt; 122 And iCharASCiiValue &amp;lt; 126
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oTempNameDic.Add oTempNameDic.Count,Chr(iCharASCiiValue)
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Select
 &amp;nbsp;Loop While oTempNameDic.Count &amp;lt; iFilenameCharacters
 fGetTempName = oEnv("TEMP") &amp;amp; "\" &amp;amp; Join(oTempNameDic.Items,"") &amp;amp; ".tmp"
 oTempNameDic.RemoveAll
 End Function
 Private Function fKillFile(sFileToKill)
 Dim iErr, sErr
 &amp;nbsp;Select Case True
 &amp;nbsp; Case InStr(sFileToKill, "*") &amp;lt;&amp;gt; 0
 &amp;nbsp;&amp;nbsp; If oFSO.FolderExists(oFSO.GetParentFolderName(sFileToKill)) Then 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oFSO.DeleteFile sFileToKill, True 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = Err.Number
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sErr = Err.Description
 &amp;nbsp;&amp;nbsp;&amp;nbsp; On Error GoTo 0 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If iErr = 53 Then iErr = 0
 &amp;nbsp;&amp;nbsp; End If 
 &amp;nbsp; Case oFSO.FileExists(sFileToKill)
 &amp;nbsp;&amp;nbsp; On Error Resume Next 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; oFSO.DeleteFile sFileToKill, True 
 &amp;nbsp;&amp;nbsp;&amp;nbsp; iErr = Err.Number
 &amp;nbsp;&amp;nbsp;&amp;nbsp; sErr = Err.Description
 &amp;nbsp;&amp;nbsp; On Error GoTo 0
 &amp;nbsp;End Select
 &amp;nbsp;Select Case iErr
 &amp;nbsp; Case 0
 &amp;nbsp;&amp;nbsp; fKillFile = 0
 &amp;nbsp; Case Else
 &amp;nbsp;&amp;nbsp; fKillFile = sErr
 &amp;nbsp;End Select 
 End Function
 Private Sub subWriteFile(sFileToWrite, sTextToWrite)
 Dim oFileToWrite
 subCreateFile sFileToWrite
 Set oFileToWrite = oFSO.OpenTextFile(sFileToWrite,8)
 oFileToWrite.WriteLine sTextToWrite
 oFileToWrite.Close
 End Sub
 Private Sub subCreateFile(sFileToCreate)
 subCreateFolder oFSO.GetParentFolderName(sFileToCreate)
 &amp;nbsp;If Not oFSO.FileExists(sFileToCreate) Then oFSO.CreateTextFile(sFileToCreate)
 End Sub 
 Private Sub subCreateFolder(sFolderPathToCreate)
 &amp;nbsp;If Trim(sFolderPathToCreate) &amp;lt;&amp;gt; "" Then 
 &amp;nbsp;&amp;nbsp; If oFSO.FolderExists(sFolderPathToCreate) Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp;&amp;nbsp; Else
 &amp;nbsp;&amp;nbsp;&amp;nbsp; subCreateFolder(oFSO.GetParentFolderName(sFolderPathToCreate))
 &amp;nbsp;&amp;nbsp; End If
 &amp;nbsp; oFSO.CreateFolder(sFolderPathToCreate)
 &amp;nbsp;End If 
 End Sub
 Private Sub subKillRegKey(ByVal sKeyToDelete, sDeleteConfirmation)
 Dim aSubKeys, sSubKey, iSubkeyCheck, sKeyToKill, iElement
 Dim aKeyPathSubSection, hKeyRoot, oWMIReg, sKeyRoot
 Const HKEY_CLASSES_ROOT = &amp;amp;H80000000
 Const HKEY_CURRENT_USER = &amp;amp;H80000001
 Const HKEY_LOCAL_MACHINE = &amp;amp;H80000002
 Const HKEY_USERS = &amp;amp;H80000003
 Const HKEY_CURRENT_CONFIG = &amp;amp;H80000005
 &amp;nbsp;If sDeleteConfirmation &amp;lt;&amp;gt; "DELETE" Then Exit Sub
 aKeyPathSubSection = Split(sKeyToDelete, "\")
 &amp;nbsp;Select Case UCase(aKeyPathSubSection(0))
 &amp;nbsp; Case "HKEY_CLASSES_ROOT", "HKCR"
 &amp;nbsp;&amp;nbsp; hKeyRoot = HKEY_CLASSES_ROOT
 &amp;nbsp;&amp;nbsp; sKeyRoot = "HKEY_CLASSES_ROOT"
 &amp;nbsp; Case "HKEY_CURRENT_USER", "HKCU"
 &amp;nbsp;&amp;nbsp; hKeyRoot = HKEY_CURRENT_USER
 &amp;nbsp;&amp;nbsp; sKeyRoot = "HKEY_CURRENT_USER"
 &amp;nbsp; Case "HKEY_LOCAL_MACHINE", "HKLM"
 &amp;nbsp;&amp;nbsp; hKeyRoot = HKEY_LOCAL_MACHINE
 &amp;nbsp;&amp;nbsp; sKeyRoot = "HKEY_LOCAL_MACHINE"
 &amp;nbsp; Case "HKEY_USERS", "HKU"
 &amp;nbsp;&amp;nbsp; hKeyRoot = HKEY_USERS
 &amp;nbsp;&amp;nbsp; sKeyRoot = "HKEY_USERS"
 &amp;nbsp; Case "HKEY_CURRENT_CONFIG"
 &amp;nbsp;&amp;nbsp; hKeyRoot = HKEY_CURRENT_CONFIG
 &amp;nbsp;&amp;nbsp; sKeyRoot = "HKEY_CURRENT_CONFIG"
 &amp;nbsp; Case Else
 &amp;nbsp;&amp;nbsp; subKillRegKey = 1
 &amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp;End Select 
 &amp;nbsp;For iElement = 1 To UBound(aKeyPathSubSection)
 &amp;nbsp; sKeyToKill = sKeyToKill &amp;amp; "\" &amp;amp; aKeyPathSubSection(iElement)&amp;nbsp;&amp;nbsp; 
 &amp;nbsp;Next
 &amp;nbsp;If Left(sKeyToKill,1) = "\" Then sKeyToKill = Right(sKeyToKill, Len(sKeyToKill)-1)
 On Error Resume Next
 Set oWMIReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
 iSubkeyCheck = oWMIReg.EnumKey(hKeyRoot, sKeyToKill, aSubKeys)
 &amp;nbsp;If iSubkeyCheck = 0 And IsArray(aSubKeys) Then
 &amp;nbsp; For Each sSubKey In aSubKeys
 &amp;nbsp;&amp;nbsp;&amp;nbsp; If Err.Number &amp;lt;&amp;gt; 0 Then
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Err.Clear
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
 &amp;nbsp;&amp;nbsp;&amp;nbsp; End If
 &amp;nbsp;&amp;nbsp; subKillRegKey sKeyRoot &amp;amp; "\" &amp;amp; sKeyToKill &amp;amp; "\" &amp;amp; sSubKey, "DELETE"
 &amp;nbsp; Next
 &amp;nbsp;End If
 oWMIReg.DeleteKey hKeyRoot, sKeyToKill
 End Sub
 End Class
 &amp;nbsp;
 &amp;lt;/SCRIPT&amp;gt; 
 &amp;lt;/head&amp;gt;
 &amp;lt;body&amp;gt;
 &amp;lt;/body&amp;gt; 
 &amp;lt;/html&amp;gt;
 &lt;/pre&gt; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47293</link><pubDate>Mon, 21 May 2007 11:00:37 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (ebgreen)</title><description>  Hmmmm....that is odd given the lines that you posted. Could you post some more lines from around there? </description><link>http://www.visualbasicscript.com/fb.ashx?m=47292</link><pubDate>Mon, 21 May 2007 10:57:24 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (phil999)</title><description>  Unterminated string contrant on line 584 &lt;br&gt;  &amp;nbsp; &lt;br&gt;  line 584&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oBarCat.Add oBarCat.Count, " End Sub" &lt;br&gt;  line 585&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oBarCat.Add oBarCat.Count, "&amp;lt;/SCRIPT&amp;gt;" &lt;br&gt;  &amp;nbsp; &lt;br&gt;  it works fine if it is in&amp;nbsp;a vbs but i am trying to run it from an inside an HTA &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47291</link><pubDate>Mon, 21 May 2007 10:54:42 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (ebgreen)</title><description>  How does it fail? What happens? </description><link>http://www.visualbasicscript.com/fb.ashx?m=47289</link><pubDate>Mon, 21 May 2007 10:43:48 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (phil999)</title><description>  OK so after more testing i have worked out it is because i am running it from an hta if i put it in a vbs file it works fine but when in an hta it fails.&amp;nbsp; Any thoughts? &lt;br&gt;  &amp;nbsp; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47287</link><pubDate>Mon, 21 May 2007 10:22:12 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (phil999)</title><description>  Thanks for your help i am having a few problems getting the class in the right place it should be the last thing before the &amp;lt;/script&amp;gt; command right? &lt;br&gt;   &lt;br&gt;  oBarCat.Add oBarCat.Count, "&amp;lt;/SCRIPT&amp;gt;" &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Thats the line it seems to throw back. [sm=rolleyes.gif] &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47266</link><pubDate>Mon, 21 May 2007 07:19:56 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (DiGiTAL.SkReAM)</title><description>  &lt;blockquote class="quote"&gt;&lt;i&gt;&lt;/i&gt;&lt;br&gt;ORIGINAL: phil999 &lt;br&gt;  this is probably a stupid question.... &lt;br&gt;  I have an hta which installs software via a list box and the listbox calls a sub example &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 Sub installmediaplayer11
 objfso.CopyFile"\\server\sw-package$\Silent_Software_Installs\wmp11-windowsxp-x86-enu.exe", "C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe" 
 winsh.Run("C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe /Q:A /R:N")
 End Sub
 &lt;/pre&gt; &lt;br&gt;  What i would like to do is have a progress bar whilst the install is happening.&amp;nbsp; How would i go about doing this using this code? &lt;br&gt;  &lt;/blockquote&gt;  &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Like this: &lt;br&gt;  First, tack the progressbar class onto the end of your code.&amp;nbsp; Then, modify the above Sub to look like this: &lt;br&gt;  &lt;pre class="prettyprint"&gt;
 Sub installmediaplayer11
 dim oBar
 set oBar = New ProgressBar
 oBar.StartBar "Now installing some stuff... Be a patient little code-monkey."
 objfso.CopyFile"\\server\sw-package$\Silent_Software_Installs\wmp11-windowsxp-x86-enu.exe", "C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe" 
 winsh.Run("C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe /Q:A /R:N")
 oBar.CloseBar
 End Sub
 &lt;/pre&gt; &lt;br&gt;  &amp;nbsp; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47254</link><pubDate>Mon, 21 May 2007 06:13:40 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (phil999)</title><description>  this is probably a stupid question.... &lt;br&gt;  &amp;nbsp; &lt;br&gt;  I have an hta which installs software via a list box and the listbox calls a sub example &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Sub installmediaplayer11 &lt;br&gt;  &amp;nbsp;objfso.CopyFile"\\server\sw-package$\Silent_Software_Installs\wmp11-windowsxp-x86-enu.exe", "C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe"  &lt;br&gt;  &amp;nbsp;winsh.Run("C:\IT_SOFTWARE\wmp11-windowsxp-x86-enu.exe /Q:A /R:N") &lt;br&gt;  &amp;nbsp;End Sub &lt;br&gt;  &amp;nbsp; &lt;br&gt;  What i would like to do is have a progress bar whilst the install is happening.&amp;nbsp; How would i go about doing this using this code? &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Thank in advance &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Phil &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=47232</link><pubDate>Sun, 20 May 2007 06:02:51 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (DiGiTAL.SkReAM)</title><description>  Thanks, Tony. &lt;br&gt;  To answer your questions, I Dim'med those variables via ExecuteGlobal as a hack, since I needed them to be there, but I didn't want to have them declared until after the StartBar sub was run. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  And the registry access is there because it is so much faster than dumping text to a file.&amp;nbsp; When I was using text files to hold the status text, in earlier incarnations of the class, I found that after a long run time, the chances of my reading and writing to the file at the same time increased, and eventually, it would crash.&amp;nbsp; by using the registry, the processing is much faster (try timing registry&amp;nbsp;i/o vs. file i/o sometime), and I don't have that worry.&amp;nbsp; I have found that if a script is processing in a linear fashion, using a text file as a temp memory storage area is sometimes ok, but when you have two or more processes accessing that same file... things can get a bit dicey. &lt;br&gt;  &lt;img src="http://www.visualbasicscript.com/upfiles/smiley/s6.gif" alt="" /&gt; &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=41675</link><pubDate>Thu, 04 Jan 2007 07:14:38 GMT</pubDate></item><item><title> RE: Dynamic Activity Window (TonyLongson)</title><description>  Excellent script DiGiTAL.SkReAM !!! &lt;br&gt;  &amp;nbsp; &lt;br&gt;  There's only one thing I don't understand:&amp;nbsp;why do you do &lt;b&gt;ExecuteGlobal "Dim oShell, oFSO, oEnv"&lt;/b&gt; instead of defining them alongside &lt;b&gt;oBarCat&lt;/b&gt;? &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Also, you could avoid the registry access issues if you used the .run file to hold the status text instead. &lt;br&gt;  &amp;nbsp; &lt;br&gt;  Tony Longson. &lt;br&gt;   </description><link>http://www.visualbasicscript.com/fb.ashx?m=41671</link><pubDate>Thu, 04 Jan 2007 05:37:10 GMT</pubDate></item></channel></rss>
