![]() |
Startmenu reihnfolge per code manipulieren
Hi,
h ich will die reihnfolge des startmenüs programmiertechnisch ändern. Die reihnfolge wird von Windows unter folgendem Schlüssel in der Registry abgespeichert: HKCU\Software\Microsoft\Windows\CurrentVersion\Exp lorer\MenuOrder\Start Menu2\programs\order Das ganze ist ein Binary Feld. Ich habe zwar einige Hinweise im Internet gefunden, aber wie dieses Binaryfeld sich zusammensetzt ist nicht wirklich ersichtlicht. Ich kann zwar schon auslesen wie viel Einträge in diesem Stream sind aber dann wird es finster. Diese Übersicht habe ich zwar gefunden aber zu mindestens unter XP Sp3 scheints es nicht wirklich zu passen.
Delphi-Quellcode:
Hatt jemand von euch vielleicht eine Idee ?
--------------------+---------------------------------------------------------------------------------------------------------+
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 :-) [color=#ff003f]Hier bekomme ich immer 0 ;-)[/color] Sometimes it is filled with FB, FF, FF, FF. I don't know why, maybe its a value that says to sort in default (alphabetic) order. 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") [color=#ff003f] -> Bis hier stimmts aber dann gehts nicht wirklich weiter[/color] 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 of the short file name stored further on in entry file name stored further on in entry 30-31 Two byte value which is: 31 if the menu item is a folder (i.e. a new sub-menu) 32 if the menu item is a shortcut or file 32-35 NO IDEA !!!! 36-39 NO IDEA !!!! 40 Byte value: 10 if the menu item is a folder (i.e. a new sub-menu) 20 if the menu item is a shortcut or file 41 Byte value: 08 42-n1 Null terminated string containing the long file name (not including path) of the file, shortcut or folder which is an item in this menu n1+1 - n2 Null terminated string containing the short file name (not including path) of the file, shortcut or folder which is an item in this menu. NOTE 1: if the short file name is the same as the long file name then just a single null sits here NOTE 2: if the number of characters in the long + short file names is ODD then an EXTAR NULL is tagged onto the end (this is not counted in values at offsetts 8 and 28. n2+1 - n2+4 Always appears to be zero n2+5 - n2+8 DON'T KNOW what these values are either Vielen Dank Gruß Gio |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz