Start Menu Order Scanner
Goes through the order of each folder in the start menu and checks for invalid files and folders.
Whiteboard
The registry keys in sub-keys starting at HKCU/Software/
The subkey root for the start menu "Start Menu" (or "Start Menu2" for XP's new start menu) contains key roots for each item in the start menu that has be visited by the user - Windows populates these keys as the menus are visited. If a menu's content items have ever been re-ordered by the user a key-value called "Order" is placed in the menu's entry. This key-value is a binary key which describes the order of each item in the menu. The format is as follows.
0. DISCLAIMER - this is purely the outcome of my own personal research. It is incomplete. I do not accept
any responsibility for anything happening as a result of anyone using this information. Good luck :-)
1. 32-bit long words are in order low-word:high-word each word in order low-byte:high-byte.
e.g. 00 00 01 00 = 0x10000 (65536), 01 00 00 00 = 1. Sixteen-bit values are likewise low-byte:high-byte.
2. The items in the list below MUST be in alphabetical order, the display order is determined otherwise.
3. The data is split into a header area followed by one or more entries which describe a menu item and it ordering.
The Header consists of:
-------
byte offset description (all numbers in hex)
-------
0-7 Fixed header bytes: 08 00 00 00 02, 00, 00, 00
8-11 Length of following bytes (=size of whole binary key value - 8)
12-15 Always apears to be: 01 00 00 00
16-19 Number of item entries in this menu
-------
Each item entry, placed serially in the binary stream in alphabetical order, consists of:
-------
byte offset description (all numbers in hex)
-------
0-3 Number of bytes in this entry
4-7 Position in start menu to display entry :-)
8-11 Number of bytes to FIRST (or only) null at the end of the short file name stored further on in entry
12-15 Always seems to be:41, 75, 67, 4d ("AugM")
16-19 Always seems to be: 01, 00, 00, 00
20-23 Always seems to be: 01, 00, 00, 00
24-27 Always seems to be: 00, 00, 00, 00
28-29 Two byte value indicating umber of bytes to FIRST (or only) null at the end
30-31 Two byte value which is:
32-35 NO IDEA !!!!
36-39 NO IDEA !!!!
40 Byte value:
41 Byte value: 08
42-n1 Null terminated string containing the long file name (not including path) of the file, shortcut
n1+1 - n2 Null terminated string containing the short file name (not including path) of the file, shortcut
n2+1 - n2+4 Always appears to be zero
n2+5 - n2+8 DON'T KNOW what these values are either
-------