Listing 3: HotLinks' Script Section
<script type="text/VBScript">
Public LinkList
' ******* BEGIN CALLOUT A *******
Sub Window_Onload
On Error Resume Next
self.ResizeTo 180,240 ' width,height
HotLinks
iTimer = Window.SetInterval("ReloadIt",300000)
End Sub
' ******* END CALLOUT A *******
Function ReloadIt
Window.Location.Reload()
End Function
' ******* BEGIN CALLOUT B *******
Sub HotLinks
On Error Resume Next
HotLinkArea.InnerHTML = ""
Set LinkList = nothing
Set LinkList = CreateObject("ADOR.Recordset")
LinkList.Fields.Append "TargetPath",201,256
LinkList.Fields.Append "TargetName",201,256
LinkList.Open
' ******* END CALLOUT B *******
Set Shell = nothing
Set objShell = nothing
' ******* BEGIN CALLOUT C *******
strHTML = ""
Set Shell = CreateObject("WScript.Shell")
Favorites = Shell.SpecialFolders("Favorites")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(Favorites)
' ******* END CALLOUT C *******
If Err.Number <> 0 Then
Err.Clear
Else
Set colFavs = objFolder.Items
For Each objFav in colFavs
DoLinks(objFav)
Next
End If
' ******* BEGIN CALLOUT D *******
LinkList.Sort = "TargetName"
LinkList.MoveFirst
Do Until LinkList.EOF
strHTML = strHTML & "<a href = " & LinkList.Fields.Item("TargetPath") _
& " title=" & chr(34) & LinkList.Fields.Item("TargetName") & chr(34) & _
">" & LinkList.Fields.Item("TargetName") & "</a>" & "<br>"
LinkList.MoveNext
Loop
LinkList.Close
HotLinkArea.InnerHTML = strHTML
' ******* END CALLOUT D *******
Err.Clear
End Sub
' ******* BEGIN CALLOUT E *******
Function DoLinks(ofav)
Set wShell = CreateObject("WScript.Shell")
Set oShell = CreateObject("Shell.Application")
If LCase(ofav.Type) = "file folder" Then
If LCase(ofav.name) <> "links" Then
Set objFolder = oShell.Namespace(ofav.Path)
Set colFavs = objFolder.Items
For Each objFav In colFavs
DoLinks(objFav)
Next
End If
Else
Set link = wShell.CreateShortcut(ofav.Path)
LinkList.AddNew
LinkList("TargetPath") = link.TargetPath
LinkList("TargetName") = ofav
LinkList.Update
End If
End Function
' ******* END CALLOUT E *******
</script>
3