Windows 8 und 8.1 besitzen ein praktisches Admin-Menü, das sich über die Tastenkombination Windows+X oder per rechtem Mausklick auf das Startmenü-Symbol aufrufen lässt. Allerdings kann man hier von Haus aus keine neuen Verknüpfungen hinzufügen oder vorhandene ändern. Mit dem kostenlosen Tool Win-X-Menü-Manager ist das jedoch möglich.
Win-X-Menü-Manager (Beta): Tool, mit dem sich das Admin-Menü (Windows-Taste +X) von Windows 8 und 8.1 bearbeiten lässt. Laden Sie sich die für Ihr System passende Variante Win-X-Menü-Manager 32-Bit oder Win-X-Menü-Manager 64-Bit herunter. Das Tool ist portabel. Es verwendet kein Setup-Programm und Sie können es beispielsweise auch von einem USB-Stick starten.
Microsoft hat erkannt, dass für Desktop-Nutzer die Kacheln des Startmenüs oft nicht schnell genug zu den häufig verwendeten Programmen führen. Das Win-X-Menü ist hier ein kleines Trostpflaster, da es immerhin einige Wege abkürzt. Damit [amazon_link id=„B00FRHRAS6“ target=„_blank“ ]Windows‑8[/amazon_link]-Nutzer Microsofts Kachel-Strategie nicht einfach unterlaufen und das Win-X-Menü zum alternativen Startmenü ausbauen, haben die Entwickler die Menüeinträge jedoch geschützt.
Wer nach den Menü-Verknüpfungen sucht, findet diese im Verzeichnis „%localappdata%\Microsoft\Windows\WinX“. Hier gibt es die Ordner „Group1“, „Group2“ und „Group3“ und darin Verknüpfungen zu den jeweiligen Programmen oder Elementen der Systemsteuerung. Die Verknüpfungen sehen nicht ungewöhnlich aus und man kann sie über den Kontextmenüpunkt „Eigenschaften“ wie üblich bearbeiten.
Wer allerdings hinter „Ziel“ den Pfad zum Programm ändert oder eine neue Verknüpfung erstellt, erlebt eine Überraschung: Nach einem Windows-Neustart ist die geänderte Verknüpfung aus dem Win-X-Menü verschwunden, neu angelegte Verknüpfungen werden ignoriert. Ursache dafür ist ein verborgener Hash-Wert in den Verknüpfungen, der unter anderem aus dem Pfad hinter „Ziel“ und – wenn vorhanden – den Parametern gebildet wird. Wenn der Pfad geändert wird, stimmt der Hash-Wert nicht mehr und Windows ignoriert die Verknüpfung. Neu erstellte Verknüpfungen enthalten keinen Hash-Wert und werden deshalb ebenfalls nicht berücksichtigt.
Win-X-Menü bearbeiten
Mit Win-X-Menu-Manager können Sie neue Eintrage in das Menü einbauen. Laden Sie das Tool für Ihre Windows-Variante herunter (32-Bit oder 64-Bit). Entpacken Sie Win-X-Menu-Manager in ein beliebiges Verzeichnis. Beim ersten Start legt das Tool automatisch eine Sicherungskopie von „%localappdata%\Microsoft\Windows\WinX“ im Installations-Ordner an. Aus dieser lassen sich bei Bedarf die Originaldateien per Klick auf „Standard wiederherstellen und Explorer neu starten“ wiederherstellen.
Bevor Sie etwas ändern, klicken Sie auf „Speichern und Explorer-Neustart“. Dadurch werden die Dateien sinnvoller umbenannt, um die Bearbeitung zu erleichtern. Denn der tatsächliche Name der Dateien unterscheidet sich von der Anzeige im Windows-Explorer. „Netzwerkverbindungen“ beispielsweise trägt tatsächlich den Dateinamen „04–1 – Network Connections.lnk“. Die Ziffernfolge am Anfang der Dateinamen sorgen für die Reihenfolge der Einträge im Win-X-Menü. Die höchste Nummer erscheint zuerst, die kleinste zuletzt. Die Datei Desktop.ini im Ordner „Group3“ bewirkt mit der Zeile „04–1 – Network Connections.lnk=@%SystemRoot%\system32\shell32.dll,-22049“, dass ein deutschsprachiges Windows die übersetzte Bezeichnung „Netzwerkverbindungen“ anzeigt. Win-X-Menu-Manager vereinheitlicht die Nummerierung.
Die Steuerung des Programms erfolgt über das Kontextmenü oder die Menü-Schaltfläche unten rechts im Fenster. Mit „Neue Gruppe“ erstellen Sie einen neuen Abschnitt im Win-X-Menü. Über „Hinzufügen -> Programm“ oder die Einfg-Taste legen Sie einen neue Anwendungsverknüpfung in der gerade ausgewählten Gruppe an. Wählen Sie die EXE-Datei des gewünschten Programms oder eine bereits vorhandenen Verknüpfung aus und klicken Sie auf „Öffnen“. Danach geben Sie eine neue Bezeichnung für die Verknüpfung ein oder Sie übernehmen die Vorgabe. Bestätigen Sie mit „OK“.
Im Menü „Hinzufügen“ finden Sie außerdem die Einträge „Systemsteuerungs-Eintrag“, „Administrative Tools“ und „Vorgaben“. Darüber bauen Sie neue Einträge für häufig verwendete Systemsteuerungs-Elemente oder Programme in das Menü ein.
Über die Pfeil-Schaltflächen am rechten Fensterrand ändern Sie die Position eines Menüeintrags und über den Kontextmenüpunkt „Verschieben in“ bewegen Sie ein Element in eine andere Gruppe. Über das Kontextmenü lassen sich Einträge auch Löschen oder umbenennen. Der Kontextmenüpunkt „LNK-Ordner öffnen“ öffnet den zugehörigen Ordner unter „%localappdata%\Microsoft\Windows\WinX“. Bei Bedarf können Sie die LNK-Dateien manuell bearbeiten und beispielsweise einen anderen Pfad hinter „Ziel“ oder einen zusätzlichen Parameter einbauen. Oder Sie erstellen selbst eine neue Verknüpfung im gewünschten Ordner.
Zum Abschluss müssen Sie in jedem Fall auf „Speichern und Explorer-Neustart“ klicken. Win-X-Menu-Manager erzeugt dann die nötigen Hash-Werte und startet den Windows-Explorer neu. Nur dann erscheinen die neuen oder geänderten Einträge im Win-X-Menü.
Hinweis: Win-X-Menu-Manager ist bereits ausführlich getestet. Wie immer bei Software, sind Fehler jedoch nicht auszuschließen. Daher trägt das Tool auch noch den Zusatz „Beta“. Über das Menü und „Update-Check“ können Sie auf verfügbare Updates prüfen.
Technischer Hintergrund
Der Hash-Wert einer Verknüpfung besteht aus dem Verweisziel, den Parametern und der Zeichenkette „do not prehash links. this should only be done by the user.“. Variablen wie „%ProgramFiles%“ oder „%windir%\system32“ werden durch die zugehörige Ordner-ID ersetzt, beispielsweise „{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}“ für „\Windows\System32“. Die gesamte Zeichenkette wird in Kleinbuchstaben umgewandelt. Als Hash-Funktion kommt „HashData“ aus der Bibliothek Shlwapi.dll zum Einsatz. Der Hash wird im „PropertyStoreDataBlock“ der LNK-Datei im Schlüssel „PKEY_WINX_HASH“ abgelegt.
Der Hash-Wert wird in Delphi wie folgt gebildet und in der LNK-Datei gespeichert (Ausschnitt):
var
Hash:ULong;
S:String;
begin
S:='{1ac14e77-02e7-4e5d-b744-2eb1ae5198b7}\control.exe/name microsoft.devicemanagerdo not prehash links. this should only be done by the user.';
HashData(@S[1],Length(S)*SizeOf(Char),@Hash, SizeOf(hash));
CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, psl);
if psl.QueryInterface(IPersistFile, ppf) = 0 Then
begin
StringToWideChar(aLinkFile, WidePath,Length(WidePath));
ppf.Load(WidePath, STGM_READWRITE);
psl.GetPath(@info, MAX_PATH, wfs, SLGP_UNCPRIORITY);
psl.GetArguments(@Attr, MAX_PATH);
psl.SetDescription(PChar(Description));
success:=psl.QueryInterface(IID_IPropertyStore, PS);
PV.vt:=VT_UI4;
PV.ulVal:= Hash;
PS.SetValue(PKEY_WINX_HASH, PV);
PS.Commit;
WideFilename := StringToOleStr(aLinkFile);
OleResult := ppf.Save(WideFilename, True);
PKEY_WINX_HASH ist so definiert:
PKEY_WINX_HASH: TPropertyKey = (
fmtid:(D1:$FB8D2D7B; D2:$90D1; D3:$4E34; D4:($BF, $60, $6E, $AC, $09, $92, $2B, $BF));pid:02);
Danksagungen
Die Analyse der Hashing-Algorithmus in den Einträgen des Admin-Menüs ist vor allem Vishal Gupta zu verdanken, der den Hash-Check zuerst über einen Patch der twinui.dll deaktiviert hat. Rafael Rivera hat dann das Tool Hashlink entwickelt, mit dem sich die Hash-Werte für die Menü-Einträge setzen lassen. Der C‑Quellcode von Hashlink ist bei GitHub verfügbar.
Schreibe einen Kommentar