Windows - Saját menük hozzáadása a Windows XP Start menüjének jobboldali oszlopához

forráskód letöltése
A Windows XP új megjelenésű Start menüje két oszlopra osztható: a jobboldaliban található elemeket tudjuk változtatni, de a baloldalit látszólag nem. De csak látszólag, mert valójában egy ügyes trükkel újabb menüsorok adhatók hozzá. Egy felhasználási tipp: számítógépgyártók OEM verzióban elhelyezhető a cég weblapjára mutató ikon és az így eladott gépeken a felhasználó csak akkor tudja ezt törölni, ha tudja, hogy kell létrehozni...
Cikkünkhöz mellékeltünk két registry állományt:
"CreateSOMenu.reg" - Létrehozza a cikkben szereplő "SoftwareOnline" menüt és rákattintás után elindul az alapértelmezett böngésző, betöltve a http://www.SoftwareOnline.hu weboldalt.
"RemoveSOMenu.reg" - Törli a menüt.
A változtatások érvényesítéséhez jelentkezzünk ki, majd vissza.
Másik felhasználási javaslatunk az, hogy a gyakrabban használt programokat helyezzük el ide, ugyanazon okból kifolyólag: a felhasználók nem tudják törölni és így megelőzhető, hogy tönkretegyék a rendszer ezen részét - ellentétben a parancsikonokkal.
Nézzük meg a létrehozás lépéseit egy példán keresztül: Készítsünk egy saját menüt a www.softwareonline.hu weblap betöltésére:
Indítsuk el a REGEDIT.EXE programot (Start > Futtatás > regedit (Start > Run > regedit)). Keressük meg a következő kulcsot:
[HKEY_CLASSES_ROOT\CLSID]
Mi az a CLSID? Egy olyan egyedi azonosító szám, mely biztosítja, hogy a világon két különböző COM objektum nem fogja ugyanazt az azonosító értéket kapni. A Windows XP-ben számos ilyen azonosító található, pillanatnyilag az egyik gyűjtőmappájukban vagyunk. Keressük meg az alábbi CLSID-t:
{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}
Ha nincs meg, létre kell hozni. Ha megvan kattintsunk rá. Jelenleg a regisztrációs adatbázis ezen pontján tartózkodunk:
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}] 
Baloldalon a kulcsok, jobboldalon a benne lévő változók és értékeik találhatók. Minden kulcshoz tartozik egy alapértelmezett (default) objektum, így ehhez is. Írjuk át az értékét "SoftwareOnline"-ra. A *.REG fájlokban ez így néz ki:
@="SoftwareOnline" 
Ugyanitt hozzunk létre egy új kulcsot "DefaultIcon" néven. Alapértelmezett (default) értékét módosítsuk az alábbiak szerint:
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\DefaultIcon] 
@="%SystemRoot%\\system32\\shell32.dll,-47" 
Első lépésben létrehoztunk egy új menüpontot a másodikban megadtuk a hozzá tartozó ikont. Az ikon a "shell32.dll" fájlból származik, de természetesen megadhatunk sajátot is. Egyetlen kikötés, hogy mérete 24x24 pixel legyen. Ekkor @="c:\\abc\\1.ico" formában kell beírni az elérési útvonalát.
Következő lépésben meg kell adni, hogy milyen parancsot hajtson végre a menü. Hozzunk létre egy "Instance" alkulcsot azon belül, pedig egy "InitPropertyBag"-et:
[HKEY_CLASSES_ROOT\CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag] 
Szükségünk van még egy CLSID-re, mely egyedileg azonosítja a menüt és "ShellExecute" metódusra a parancsok futtatásához.
"CLSID"="{13709620-C279-11CE-A49E-444553540000}" 
"method"="ShellExecute" 
A "Command" bejegyzés értéke után található a menü neve, amely megjelenik a Start menüben:
"Command"="SoftwareOnline" 
Végül paraméterként be kell írni, hogy mit futtasson. Jelen esetben egy weblapra való ugrást. A "http" előtaggal kezdődő parancsoknál az XP automatikusan meghívja az alapértelmezett böngészőt és átadja a paramétert, így ezzel nem kell foglalkoznunk:
"Param1"="http://www.SoftwareOnline.hu/"
A változtatások érvényesítéséhez jelentkezzünk ki, majd vissza.
Természetesen bármilyen saját programot is elhelyezhetünk a menüben a fentiek ismeretében. Nem kell mást tennünk, mint a "Param1" változóba beírni a program nevét. Ha maga a program is tartalmaz paramétereket, akkor azokat a "Param2"-be lehet átadni. Például elindítjuk az Excel-t és betöltetjük vele az "TodayWork.xls"-t:
"Param1"="excel.exe"
"Param2"="TodayWork.xls"