Jump to content

Recommended Posts

Posted

How is it done?

I've found a couple of threads that said that Microsoft does not allow programatic access to the start menu pinned items because that should be a user customized function. But, on the other hand, we know it can be done because Microsoft's "Setup your computer" program does it. I would like to make a common starting point for all users of the computer and let them change it from there.


Posted

It is definitely customizable.

If you notice, the winbom.ini has a section in [shell] for pinned programs.

We just need to find out how it does it.

I have a suspicion that the culprit might be somewhere here:

HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam

Posted

You know what? I think I found it. :w00t:

The key is HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage and the value is Favorites. It's a binary data type. If you edit it, you see some binary data, but in the ASCII print to the side, it has the location of the link, the long name in unicode, and where to find the icon. The position in the start menu is determined by the position of the items in this list. Items that are at the top edge of the list start at offset 0, while the item at the bottom of the pinned list seems to be the last record. Going by the fact that this must be using variable length records, there must be some flag byte or a length counter that tells explorer where the start and end of each variable length field is.

I currently have 4 icons pinned to the start menu in this order: E-Mail, Internet Explorer, Internet, and Command Prompt. Below is the actual data:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage]
"Favorites"=hex:00,16,00,00,00,14,00,1f,80,f5,a1,59,25,d7,21,d4,11,bd,af,00,c0,\
 4f,60,b9,f0,00,00,02,76,00,00,00,74,00,32,00,5b,03,00,00,37,32,42,b9,80,00,\
 49,4e,54,45,52,4e,7e,31,2e,4c,4e,4b,00,00,58,00,03,00,04,00,ef,be,23,32,76,\
 64,23,32,76,64,14,00,40,00,49,00,6e,00,74,00,65,00,72,00,6e,00,65,00,74,00,\
 20,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,2e,00,6c,00,6e,00,6b,\
 00,00,00,40,78,70,73,70,31,72,65,73,2e,64,6c,6c,2c,2d,31,31,30,30,31,00,00,\
 1c,00,00,00,00,16,00,00,00,14,00,1f,80,f4,a1,59,25,d7,21,d4,11,bd,af,00,c0,\
 4f,60,b9,f0,00,00,02,c8,00,00,00,5a,00,31,00,00,00,00,00,23,32,78,64,11,00,\
 41,43,43,45,53,53,7e,31,00,00,42,00,03,00,04,00,ef,be,23,32,7d,63,23,32,78,\
 64,14,00,2c,00,41,00,63,00,63,00,65,00,73,00,73,00,6f,00,72,00,69,00,65,00,\
 73,00,00,00,40,73,68,65,6c,6c,33,32,2e,64,6c,6c,2c,2d,32,31,37,36,31,00,18,\
 00,6c,00,32,00,e5,06,00,00,3e,32,a7,49,20,00,43,4f,4d,4d,41,4e,7e,31,2e,4c,\
 4e,4b,00,00,50,00,03,00,04,00,ef,be,23,32,80,63,23,32,80,63,14,00,3a,00,43,\
 00,6f,00,6d,00,6d,00,61,00,6e,00,64,00,20,00,50,00,72,00,6f,00,6d,00,70,00,\
 74,00,2e,00,6c,00,6e,00,6b,00,00,00,40,73,68,65,6c,6c,33,32,2e,64,6c,6c,2c,\
 2d,32,32,30,32,32,00,1c,00,00,00,ff

Now if someone can break out what the other fields are and write a program that manipulates it, we will be off and running.

The NoShellRoam just has the cached folder views. When you set a folder view, that's where Windows places the value.

  • 1 month later...
Posted

Additional information about this subject....

It seems that there is another key in HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage that also has a bearing on how items get pinned to the start menu.

Favorites - List 1 (Described above)

FavoritesResolve - List 2 (Seems to follow list 1)

FavoritesChanges - Running tally of how many times the pinned items have been changed. I guess this tells explorer if the list has changed, to go and reload it. I'm still experimenting with this though.

I will post more here as I figure it out.

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...