Jump to content

Quick Launch Script


PaulIA

Recommended Posts

I had searched the forum and come up with several registry tweaks for turning on the Quick Launch toolbar. Some of them didn't seem to work at all, while the others seemed to work, but messed up other settings on my computer. So after a few liquid refreshments :P, I remembered that I was a programmer:

SetQuickLaunch.zip

Just call this script in your cleanup command (or anywhere after the Desktop is loaded) to turn the Quick Launch toolbar on. Note that this is a toggle script, so if you call it twice it negates itself.

Comments/suggestions are always welcome.

Link to comment
Share on other sites


I have never had a problem using a registry tweak. This one always worked for me

;Add Quick Launch Bar
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop]
"TaskbarWinXP"=hex:0c,00,00,00,08,00,00,00,02,00,00,00,00,00,00,00,b0,e2,2b,\
d8,64,57,d0,11,a9,6e,00,c0,4f,d7,05,a2,22,00,1c,00,0a,01,00,00,1a,00,00,00,\
01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,4c,00,00,00,01,14,02,00,00,\
00,00,00,c0,00,00,00,00,00,00,46,83,00,00,00,10,00,00,00,a0,b0,48,5e,89,8d,\
bd,01,00,d8,9e,e4,2a,8d,bd,01,00,45,fe,5e,89,8d,bd,01,00,00,00,00,00,00,00,\
00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,13,01,14,00,1f,0f,e0,4f,\
d0,20,ea,3a,69,10,a2,d8,08,00,2b,30,30,9d,19,00,23,44,3a,5c,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,cd,97,15,00,31,00,00,00,00,00,af,24,5c,\
b9,10,80,57,69,6e,6e,74,00,00,20,00,31,00,00,00,00,00,af,24,a3,b9,10,00,50,\
72,6f,66,69,6c,65,73,00,50,52,4f,46,49,4c,45,53,00,19,00,31,00,00,00,00,00,\
c1,24,08,92,10,00,69,65,35,30,30,2e,30,30,30,00,00,28,00,31,00,00,00,00,00,\
c1,24,08,92,10,00,41,70,70,6c,69,63,61,74,69,6f,6e,20,44,61,74,61,00,41,50,\
50,4c,49,43,7e,31,00,21,00,31,00,00,00,00,00,c5,22,9d,91,10,00,4d,69,63,72,\
6f,73,6f,66,74,00,4d,49,43,52,4f,53,7e,31,00,29,00,31,00,00,00,00,00,d3,22,\
32,a6,10,00,49,6e,74,65,72,6e,65,74,20,45,78,70,6c,6f,72,65,72,00,49,4e,54,\
45,52,4e,7e,31,00,24,00,31,00,00,00,00,00,db,22,76,ba,10,00,51,75,69,63,6b,\
20,4c,61,75,6e,63,68,00,51,55,49,43,4b,4c,7e,31,00,00,00,8d,00,00,00,1c,00,\
00,00,01,00,00,00,1c,00,00,00,36,00,00,00,0d,f0,ad,ba,8c,00,00,00,1a,00,00,\
00,03,00,00,00,e7,18,2d,23,10,00,00,00,49,45,35,30,30,5f,58,31,43,00,43,3a,\
5c,57,49,4e,4e,54,5c,50,72,6f,66,69,6c,65,73,5c,49,45,35,30,30,2e,30,30,30,\
5c,41,70,70,6c,69,63,61,74,69,6f,6e,20,44,61,74,61,5c,4d,69,63,72,6f,73,6f,\
66,74,5c,49,6e,74,65,72,6e,65,74,20,45,78,70,6c,6f,72,65,72,5c,51,75,69,63,\
6b,20,4c,61,75,6e,63,68,00,00,10,00,00,00,05,00,00,a0,1a,00,00,00,a3,00,00,\
00,00,00,00,00,08,00,00,00,02,00,00,00,cc,00,00,00,01,00,00,00,03,00,00,00,\
4a,00,00,00,01,00,00,00,40,00,32,00,e6,01,00,00,c4,24,15,9f,20,00,4c,61,75,\
6e,63,68,20,49,6e,74,65,72,6e,65,74,20,45,78,70,6c,6f,72,65,72,20,42,72,6f,\
77,73,65,72,2e,6c,6e,6b,00,4c,41,55,4e,43,48,7e,32,2e,4c,4e,4b,00,00,00,40,\
00,00,00,02,00,00,00,36,00,32,00,48,02,00,00,c4,24,15,9f,20,00,4c,61,75,6e,\
63,68,20,4f,75,74,6c,6f,6f,6b,20,45,78,70,72,65,73,73,2e,6c,6e,6b,00,4c,41,\
55,4e,43,48,7e,31,2e,4c,4e,4b,00,00,00,36,00,00,00,00,00,00,00,2c,00,32,00,\
51,00,00,00,ec,22,46,39,20,00,53,68,6f,77,20,44,65,73,6b,74,6f,70,2e,73,63,\
66,00,53,48,4f,57,44,45,7e,31,2e,53,43,46,00,00,00,52,00,00,00,e0,00,00,00,\
00,00,00,00,16,00,00,00,00,00,00,00,00,00,00,00,16,00,00,00,00,00,00,00,01,\
00,00,00,01,00,00,00,aa,4f,28,68,48,6a,d0,11,8c,78,00,c0,4f,d9,18,b4,37,02,\
00,00,e0,00,00,00,00,00,00,00,16,00,00,00,00,00,00,00,00,00,00,00,16,00,00,\
00,00,00,00,00,01,00,00,00

Link to comment
Share on other sites

@Gee: Glad your tweak works for you. This is just another approach and I can tell what every line of code does if there is every a problem. Can you explain to me what each of the 850+ bytes of registry tweaks you posted does?

@ricktendo: I don't use nLite, so an nLite addon isn't going to do me any good. I started out using nLite then ran into problems with it, so now I only use things that I can fix when they're broken and modify to my specific needs.

To the rest: Thank you for your positive comments.

Edited by PaulIA
Link to comment
Share on other sites

@Yzowl: If you take the time to actually read the script, it clearly states that it assumes the script is being run from a clean install, which means the task bar is locked. As for your programming comment, it was a joke, hence the smiley. Anytime you want to compare resumes, just let me know...
' This section toggles the "Show Quick Launch" toolbar setting. Notice that I said
' TOGGLE and not set. If it's already on, it will turn it off. I'm assuming that
' you're using this from a clean install where "Show Quick Launch" is off and the
' "Lock the taskbar" setting is off. You'll notice that I'm playing around with
' the "Lock the taskbar" setting. I do this so that the Quick Launch bar will set
' it's size right to show all of the icons which will not happen if you change the
' "Show Quick Launch" setting with the task bar locked.

Try again!

This time tell us what good a toggle is from a clean install only, it isn't is it?

As I stated, it assumes that each time you run it you are already in a specific 'taskbar locked' state.

<Edit>

Anytime you want to argue just let me know...but please check that your argument has substance first.

</Edit>

Edited by Yzöwl
Link to comment
Share on other sites

From the script:

I'm assuming that you're using this from a clean install where "Show Quick Launch" is off and the "Lock the taskbar" setting is off
There is an error in the comments section of the script. The default settings for a clean install are "Show Quick Launch" off and "Lock the taskbar" on. The comments in the script where I am turning the lock on/off are correct.

From my first post:

Just call this script in your cleanup command (or anywhere after the Desktop is loaded) to turn the Quick Launch toolbar on.

I think it is fairly clear that the script is meant to be run during unattended setup and from a clean install. Running it twice doesn't make any sense, but I put the toggle text in there just so people would know what would happen if they ran it back to back. My mistake for being too detailed. :rolleyes:

Edited by PaulIA
Link to comment
Share on other sites

Thanks for the admission!

I was only trying to highlight the possible problem which may have occurred by using the word toggle. It may appear that your explanation was clear enough but we have here a rather diverse community from non-english speaking countries. In my experience here, nothing can really be considered as crystal clear!

I actually find the script a better solution to the registry method usually employed and appreciate your effort in offering it to the community.

Link to comment
Share on other sites

There has to be a better way to this then to use the SendKeys method. Although it will work, you could have alos used AutoIt for this.

The "proper" way to do this is to identify the hex bits in the HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop\"TaskbarWinXP" in the registry. Toggle the QuickLaunch Toolbar on a off a few times and you will see that only a few bits are modified in the "TaskbarWinXP" value.

You will need to convert the bits to binary and toggle the setting a few times to identify the bits. After the bits are identified, you can XOR them. This will leave the rest of the bits in the "TaskbarWinXP" area unaffected. This way you wont effect other taskbar settings that may have been modified.

Your script is fine, but since you said you're a "programmer" I thought you might be up to the challenge. :)

Link to comment
Share on other sites

Modifying the registry bits was a thought (and a good one). I actually wanted to do this with a script so that I could control more than just the "Quick Launch" setting without any possible side effects. Also, with a few simple modifications, you could set any of other items on the Taskbar tab:

- Lock the taskbar

- Auto-hide the taskbar

- Keep the taskbar on top of other windows

- Group similar taskbar buttons

- Show Quick Launch

- Show the clock

- Hide inactive icons

Not to mention what's on the "Start Menu" tab (which I've already done to replace some other tweaks). :whistle: Again, the whole purpose of doing this in the first place was simply to present an alternative to what we know already works. I am not stating that this script is any better or worse than using the registry, AutoIt, etc. It's just another way to do things.

Boy, I think we've definitely beaten this one to death! :) I appreciate the feedback and suggestions. Please bear with me if I offer up other scripts like this. I've gotten so much help from here that I'm just trying to give back a little. Hopefully, we can all continue to learn new ways of doing things from each other. :thumbup

Link to comment
Share on other sites

Here is a modification of PaulIA's vb script: Automate "Taskbar and Start Menu Properties" settings

' Author: PaulIA (modified by MHz to use AutoItX3.dll)
' Requirement: AutoItX3.dll (will register only if needed, if found in system32 directory)
' Description: This script turns the Quick Launch toolbar on... ( No toggle )
'
' ---------------------------------------------------------------------------------------

' Declare variables
Dim objShellApp, objAutoIt
Dim strTaskbarTitle

' Create objects
Set objShellApp = CreateObject("Shell.Application")
Set objAutoIt = CreateObject("AutoItX3.Control")

' Check that the required objects are valid
If Not IsObject(objShellApp) Then
WScript.Quit 1
ElseIf Not IsObject(objAutoIt) And Not Register_AutoItX3(objAutoIt) Then
WScript.Quit 2
End If

' Open Taskbar Properties dialog
objShellApp.TrayProperties

' Automate the "Taskbar and Start Menu Properties" settings window
strTaskbarTitle = "Taskbar and Start Menu Properties" ' Title of window to automate

With objAutoIt
If .WinWait(strTaskbarTitle, "", 5) Then
.WinSetState strTaskbarTitle, "", SW_HIDE ' Hide the window
.ControlCommand strTaskbarTitle, "", "Button1", "UnCheck", "" ' UnLock the Taskbar
'.ControlCommand strTaskbarTitle, "", "Button2", "Check", "" ' Auto-hide the Taskbar
.ControlCommand strTaskbarTitle, "", "Button5", "Check", "" ' Show Quick Launch
.ControlCommand strTaskbarTitle, "", "Button1", "Check", "" ' Lock the Taskbar
.ControlClick strTaskbarTitle, "", "Button13" ' Apply settings
.ControlClick strTaskbarTitle, "", "Button11" ' OK to complete
End If
End With

' Clean up objects
Set objShellApp = Nothing
Set objAutoIt = Nothing

WScript.Quit

Function Register_AutoItX3(objAutoIt)
' Search in the SystemDir and register AutoItx3.dll
Dim objFSO, WshShell, strSystemLocation
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
If IsObject(objFSO) And IsObject(WshShell) Then
strSystemLocation = WshShell.ExpandEnvironmentStrings("%WinDir%") & "\System32\AutoItX3.dll"
If objFSO.FileExists(strSystemLocation) Then
WshShell.Run "RegSvr32 /s " & strSystemLocation, 0, True
End If
End If
Set objFSO = Nothing
Set WshShell = Nothing
Set objAutoIt = CreateObject("AutoItX3.Control")
If IsObject(objAutoIt) Then
Register_AutoItX3 = True
End If
End Function

And a AutoIt3 script wrapped in a function. Has the same result of no toggle as the VBScript using AutoIt3X.dll.

_TaskBarProperties()

Func _TaskBarProperties()
Local $opt_WinWaitDelay, $oShellApp, $title_taskbar
$opt_WinWaitDelay = Opt('WinWaitDelay', 1)
$title_taskbar = 'Taskbar and Start Menu Properties'
$oShellApp = ObjCreate('Shell.Application')
If Not @error Then
$oShellApp.TrayProperties
If WinWait($title_taskbar, '', 5) Then
WinSetState($title_taskbar, '', @SW_HIDE); Hide the window
Sleep(250)
ControlCommand($title_taskbar, '', 'Button1', 'UnCheck'); UnLock the Taskbar
;ControlCommand($title_taskbar, '', 'Button2', 'Check'); Auto-hide the Taskbar
ControlCommand($title_taskbar, '', 'Button5', 'Check'); Show Quick Launch
ControlCommand($title_taskbar, '', 'Button1', 'Check'); Lock the Taskbar
ControlClick($title_taskbar, '', 'Button13'); Apply the settings
ControlClick($title_taskbar, '', 'Button11'); OK to finish
EndIf
EndIf
Opt('WinWaitDelay', $opt_WinWaitDelay)
EndFunc

Thanks for sharing, PaulIA. :)

Edited by MHz
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...