'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
'COPYRIGHT NOTICE: This script and all material at Winhelponline.com are registered with...
'"The UK Copyright Service". No part of the Website or script can be distributed or ...
'republished without the author's written permission.
'Copyright © 2007 by Ramesh Srinivasan. All rights reserved.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
'AddtoQL.vbs - Adds "Add to Quick Launch" context menu
'Sends a file (as shortcut) to Quick Launch.
'Designed to use in Windows XP systems only.
'Homepage: http://www.winhelponline.com
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
'Version History:
'(ver 1.0) June 16, 2007 - Initial release
'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strQLFolder = WshShell.SpecialFolders("AppData") & "\Microsoft\Internet Explorer\Quick Launch\"
strMsg = "Completed!" & Chr(10) & Chr(10) & "AddToQuickLaunch.vbs - © 2007 Ramesh Srinivasan" & Chr(10) & "You can send your feedback to " & Chr(34) & "ramesh@mvps.org" & Chr(34) & Chr(10) & "Visit us at http://www.winhelponline.com"

Set objArgs = WScript.Arguments
If WScript.Arguments.Count =  0 Then
	'Show the Inputbox to let the user install or uninstall this script
	rtn= Trim(UCase(InputBox ("Type INSTALL to add the ADD TO QUICK LAUNCH context menu option, or type UNINSTALL if you wish to remove the ADD TO QUICK LAUNCH context menu option from your system.", 	"Configuring AddToQuickLaunch.vbs...", "INSTALL")))
	If rtn = "INSTALL" Then RunInstall
	If rtn = "UNINSTALL" Then RunUninstall
Else
	'If the Arguments count is >0
	For I = 0 to objArgs.Count - 1
		Set objFile = objFSO.GetFile(objArgs(I))
		strFileName = objFSO.GetAbsolutePathName(objArgs(I))
		strBaseName = objFSO.GetBaseName(objArgs(I))
		strFileext = objFSO.GetExtensionName(objArgs(I))
		AddtoQL strFileName,strFileext,strBaseName
	Next
End If

Sub AddtoQL(fname,fextn,basename)
	Select Case fextn
		Case "lnk"
			objFSO.CopyFile fname, strQLFolder
	
		Case "url"
			objFSO.CopyFile fname, strQLFolder
	
		Case Else		
			Set oShellLink = WshShell.CreateShortcut(strQLFolder & "\" & basename & " (Shortcut)" & ".lnk")
			oShellLink.TargetPath = fname
			oShellLink.Save	
	End Select
End Sub

Sub RunInstall
	'Add registry values
	On Error Resume Next
	strCMD = "wscript.exe " & Chr(34) & WScript.ScriptFullName & Chr(34)
	strCMD = strCMD & " " & Chr(34) & "%1" & Chr(34)

	WshShell.RegWrite "HKCR\*\shell\AddtoQL\", "Add to Quick Launch", "REG_SZ"
	WshShell.RegWrite "HKCR\*\shell\AddtoQL\command\", strCMD, "REG_SZ"
	WshShell.RegWrite "HKCR\InternetShortcut\shell\AddtoQL\", "Add to Quick Launch", "REG_SZ"
	WshShell.RegWrite "HKCR\InternetShortcut\shell\AddtoQL\command\", strCMD, "REG_SZ"
	WshShell.RegWrite "HKCR\lnkfile\shell\AddtoQL\", "Add to Quick Launch", "REG_SZ"
	WshShell.RegWrite "HKCR\lnkfile\shell\AddtoQL\command\", strCMD, "REG_SZ"
	On Error Goto 0
	MsgBox strMsg, vbokonly,"Installed"	
End Sub

Sub RunUninstall
	'Remove the registry values added by this script.
	On Error Resume Next
	WshShell.RegDelete "HKCR\*\shell\AddtoQL\command\"
	WshShell.RegDelete "HKCR\*\shell\AddtoQL\"
	WshShell.RegDelete "HKCR\InternetShortcut\shell\AddtoQL\command\"
	WshShell.RegDelete "HKCR\InternetShortcut\shell\AddtoQL\"
	WshShell.RegDelete "HKCR\lnkfile\shell\AddtoQL\command\"
	WshShell.RegDelete "HKCR\lnkfile\shell\AddtoQL\"
	On Error Goto 0
	MsgBox strMsg, vbokonly,"Uninstalled"
End Sub

