Win-X-Menü: Unter Windows 8 zum Menü neue Einträge hinzufügen

Win-X-Menu-Manager

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.

Download zu diesem Artikel:
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.

Editor für das Win-X-Menü

Mit dem Win-X-Menü-Manager bauen Sie neue Einträge in das Admin-Menü (Win-X) von Windows 8/81. ein.

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

Systemsteuerung im Win-X-Menü

Systemsteuerungs-Elemente in das Win-X-Menü einfügen.

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):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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:

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

7 Kommentare

  • Hi,
    ich habe mal ein wenig rumprobiert. Leider klappt das bei mir nur mit Verknüpfungen zum Windows- und System-Verzeichnis, soweit ich das jetzt getestet habe.
    Habe ich eine Anwendung unter „Dokumente“ oder „Programme“ zu liegen klappt das nicht.
    Genauso bei Linkzielen auf ein anderes Laufwerk. Hast du das mal getestet?

    Und das Tool HashLink funktioniert bei mir überhaupt nicht.

    • Ich kann keinen Fehler finden. Bei mir funktionieren auch Programme im Ordner „Dokumente“ oder auf einem anderen Laufwerk. Vielleicht einmal testweise per Kontextmenü „LNK-Ordner öffnen“ den Ordner mit dem Link öffnen und diesen per Doppelklick direkt starten. Funktioniert das? Wenn nicht, dann in den Eigenschaften der LNK-Datei nachsehen, ob da falsche Infos enthalten sind.

      • Nun die Verknüpfung an sich funktioniert einwandfrei, nur sie wird nicht im Win+X Menü angezeigt.

        Allerdings muss ich dazu sagen, dass ich deinen Source leicht abgewandelt und nicht 1:1 verwende.
        Kann ich dir den vielleicht mal per Mail oder so senden, zum drüberschauen?

        Gruß

        • Wenn die Verknüpfung nicht im Win-X-Menü auftaucht, dann stimmt der Hash-Wert nicht. Du kannst mir den Source-Code gerne schicken oder irgendwo veröffentlichen. E-Mail-Adresse steht im Impressum.

  • Hermann Apfelböck

    Hallo Thorsten,

    der Win-X-Menü-Manager ist hübsch gemacht und bringt Flexibilität in das statisch-spröde Kontextmenü.

    Ich hatte mir aus ähnlichen Motiven eine deutlich primitivere Antwort gestrickt, die ich einfach in die Taskleiste übernommen habe: siehe Download „Win-Tools“ unter http://xn--apfelbck-s4a.de/downloads/.
    Das ist aber nur ein Workaround, während deine Lösung ein Ruf nach Redmond ist, dass du dir solche dämlichen Gängeleien nicht gefallen lassen willst.

    Ciao,

    Hermann

Schreibe einen Kommentar

Mit Absenden des Kommentars akzeptieren Sie die Datschutzerklärung.
Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.