Customize Win+X menu in Windows 10

In Windows 8, Microsoft introduced a feature for mouse users which can be accessed with a right click in the bottom left corner of the screen - the Win+X menu. In Windows 8.1 and Windows 10, you can simply right click on the Start button to show it. This menu has shortcuts to useful administrative tools and system functions. However, it is not a customizable part of the operating system. The user cannot add the desired apps and commands he wants to the Win+X menu. In this article, we will see how to bypass this limitation and customize this menu in Windows 10.

The Win+X menu entries actually are all shortcut files (.LNK) but customizing the Win+X menu is not an easy task because Microsoft intentionally made it harder to customize it to prevent third party apps from abusing it and putting their own shortcuts there. The shortcuts are all special - they are passed though a Windows API hashing function and the hash is then stored inside those shortcuts. Its presence tells the Win+X menu that the shortcut is special and only then it will show up in the menu, otherwise it will be ignored.

To customize the Power user menu, you can use my Win + X Menu Editor app. Win+X Menu Editor is a free tool with an easy-to-use GUI that does not patch any system files to disable the hash check. Using it, you can add or remove shortcuts to the Win+X menu, change their names and order.

Here is what you have to do.

  1. Download Win+X Menu Editor from here.
  2. In the archive, you will find two folders - x64 and x86. For 64-bit Windows, enter the x64 folder, for 32-bit, extract and use the files from x86 folder. Then run WinXEditor.exe to open the app.
  3. The UI is pretty self-explanatory and shows all items which already exist in the Win+X menu. You can add any program or use presets for common system tools. You can organize shortcuts into groups and reorder them. You can also use the buttons on the right to move commands Up or Down.
  4. When you are done editing the menu, click the Restart Explorer button to save changes and restart Explorer.exe.

Let's see some use cases in detail.

Add a new item to Win+X menu in Windows 10

Add programs to Win+X menu

Using Win+X Menu Editor, it is possible to add any application to the Win+X menu of Windows 10. For example, let's add "UAC Settings" options to the menu. Here is how.

Click on the "Add a program" dropdown button. In the submenu which will appear, select "Add a program".

The Open file dialog will appear, select the following file there:

C:\Windows\System32\UserAccountControlSettings.exe

The application will request you to name the item you are going to add. Enter the desired name, for example, "UAC Settings":

Now, click the "Restart Explorer" button to make the new item appear in the Win+X menu:

Open the Win+X menu and you will see a new item UAC Settings, which you can start using immediately.

Use presets
You can use some presets available in the app. Under "Add a program"->"Add presets" you can add Services, Paint, Windows Media Player and some other built-in tools:

Again, do not forget to click Restart Explorer to make the items visible:

Besides custom apps and presets, it is possible to add Control Panel items and Administrative Tools to this menu. Use the appropriate commands "Add a program"->"Add a Control Panel item" and "Add a program"->"Add an Administrative tools item" to do so. See these screenshots:

Remove Win+X items in Windows 10

Win+X Menu Editor allows to delete pre-defined items from the menu. For example, I use Disk Management and Device Manager very rarely, so I would like to remove them.
To remove the item from Win+X menu, you only need to select it in the items list and click "Remove" on the toolbar:

Click Restart Explorer and the removed items will disappear:

Managing shortcut groups

Groups in the Win+X menu are horizontal lines which separate the shortcuts visually. Groups are represented by folders named "Group 1", "Group 2" and "Group 3". You can remove pre-defined groups or create more than 3 groups.

To remove the whole group, select it in the app and click "Remove" on the toolbar:

All its shortcuts will be deleted, and the group folder will be deleted too. After you restart Explorer, the group will disappear from the menu.

You can create more groups by clicking "Create a group" on the toolbar:

After that, you can put apps and commands in new groups as described above, or you can move existing items between groups.

Move items between groups
By right clicking the items, you can perform most operations the application supports for the Win+X menu. To move the item to another group, right click it and select "Move to group":

Click Restart Explorer and you are done.

Restore the default Win+X menu

If you want to revert the original Win+X menu in Windows 10, just click the item called "Restore defaults" on toolbar and confirm that you want to restore the menu:

Click Restart Explorer. The menu will be restored:

That's it. Using Win+X Menu Editor, you can tweak the Win+X menu in Windows 10 as you want. Version 2.7 comes with full Windows 10 support and is tested under the latest Insider Preview, which as of this writing, is build 14332. You can download it here:

Download Win+X Menu Editor

Support us

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!

Author: Sergey Tkachenko

Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.

15 thoughts on “Customize Win+X menu in Windows 10”

  1. Is it possible to create menus within a group? Also, is it possible to modify the “Shut down or sign out” menu? I found that if you move or remove the “Desktop” item from Group1 it moves the shutdown menu into Group2 positioned second to the bottom. My goal would be to have the shutdown menu at the bottom in Group1 by itself, but I haven’t been able to achieve this. Please reply if you know of a way to do this! Thank you.

    1. Unfortunately, I have no idea at this moment how to place shutdown options in the desired location.
      I am sorry.

  2. I am unable to use his I have changed my start menu.
    I get the error (below)
    It then comes up. When I click on restore defaults, it shows up, I can add normal programs. But am unable to install any control panel items, getting this error. Both are shown below.

    [ERROR 1]
    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.IO.DirectoryNotFoundException: Could not find a part of the path ‘C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools’.
    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    at System.IO.FileSystemEnumerableIterator`1.CommonInit()
    at System.IO.Directory.GetFiles(String path, String searchPattern)
    at WindowsFormsApplication1.Form1.GetAdministrativeTools()
    at WindowsFormsApplication1.Form1.Form1_Load(Object sender, EventArgs e)
    at System.Windows.Forms.Form.OnLoad(EventArgs e)
    at System.Windows.Forms.Form.OnCreateControl()
    at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    at System.Windows.Forms.Control.CreateControl()
    at System.Windows.Forms.Control.WmShowWindow(Message& m)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.Form.WmShowWindow(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    —————————————-
    WinXEditor
    Assembly Version: 2.7.0.0
    Win32 Version: 2.7.0.0
    CodeBase: file:///C:/Users/Mathew.Broady/OneDrive%20-%20NSW%20Department%20of%20Education%20and%20Communities/Downloads/DONOTDELETE/WinXMenuEditor/x64/WinXEditor.exe
    —————————————-
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    —————————————-
    System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    —————————————-
    System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    —————————————-
    System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
    —————————————-

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

    [ERROR 2]
    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.NullReferenceException: Object reference not set to an instance of an object.
    at WinXEditor.FormCP.txtFilter_TextChanged(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnTextChanged(EventArgs e)
    at System.Windows.Forms.TextBoxBase.WmReflectCommand(Message& m)
    at System.Windows.Forms.TextBox.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    —————————————-
    WinXEditor
    Assembly Version: 2.7.0.0
    Win32 Version: 2.7.0.0
    CodeBase: file:///C:/Users/Mathew.Broady/OneDrive%20-%20NSW%20Department%20of%20Education%20and%20Communities/Downloads/DONOTDELETE/WinXMenuEditor/x64/WinXEditor.exe
    —————————————-
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    —————————————-
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    —————————————-
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    —————————————-
    System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    —————————————-
    System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    —————————————-
    System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    —————————————-
    System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
    —————————————-
    Microsoft.WindowsAPICodePack.Shell
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Mathew.Broady/OneDrive%20-%20NSW%20Department%20of%20Education%20and%20Communities/Downloads/DONOTDELETE/WinXMenuEditor/x64/Microsoft.WindowsAPICodePack.Shell.DLL
    —————————————-
    Microsoft.CSharp
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
    —————————————-
    Microsoft.WindowsAPICodePack
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Mathew.Broady/OneDrive%20-%20NSW%20Department%20of%20Education%20and%20Communities/Downloads/DONOTDELETE/WinXMenuEditor/x64/Microsoft.WindowsAPICodePack.DLL
    —————————————-
    System.Dynamic
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
    —————————————-
    Anonymously Hosted DynamicMethods Assembly
    Assembly Version: 0.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
    —————————————-
    WindowsBase
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
    —————————————-

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  3. REQUEST 1: Could you possibly allow folders to be added to the Win+X menu (or menus, as Tyler above has called them)? Your tweak has made this menu into a really useful place to put techie things, but the list soon fills up — I very soon had 27 items using 26 letters plus 0. Folders would allow a great deal more to be put here.

    It’s nice that accelerator keys work in the Win+X menu, making to so easy to launch something using the Win+X menu. If folders can be added, accelerator keys should also work with them, so that potentially 26 X 26 things are accessible by pressing Win+X followed by two letters (and there are 10 digits and other symbols as well).

    There is already a folder for ‘Shut down or sign out’ (although you can’t edit this or its five items), so it looks as if Microsoft has included somewhere ini there the ability to add more folders.

    REQUEST 2: Is it possible to save the present Win+X configuration and then restore it, perhaps onto another computer? The present configuration must be stored somewhere, but I have no idea where it is and whether it can be saved, and restored to the same or a different computer.

    1. The current configuration is in C:\Users\%username%\AppData\Local\Microsoft\Windows\WinX\
      You need to re-hash it to get working on another PC if the path to shortcut target is different on another PC.

      The Win + X menu doesn’t support folders. The shutdown folder is added programmatically, there is no way to build it from the outside of the shell.

  4. Thanks very much, Sergey. I have now copied the WinX folder to the other computer, where the path is different because there is a different user name. Most of the links work, but a few do not, as you indicated may happen.

    Could you explain what ‘re-hashing’ means in this context? (If it is too tricky, I can of course just to use your app on the second computer for the few that don’t work).

    Pity about folders. If they could be created, Microsoft would now have really nice keyboard-driven programme launcher, far more straightforward than their fiddly Start Menu, or even the excellent Classic Start Menu.

    Apologies for the second copy of this post. I thought that my first post had gone into some internet black hole.

  5. Hey, great tool!

    Any idea how I can add a hotkey for custom WinX menu items that I’ve added?

    For example, I’ve removed the item mapped to Win + X, a so I’d like my new item (PowerShell ISE) to be mapped to that. Any idea on how to achieve this? Thanks

    1. Use & (ampersand) before the letter in the name of your item. E.g. name it &Sample, the Win + X -> S will open ‘Sample’.

  6. Hello.

    I want to add a WindowsTerminal to the Win+X menu, so I chose “Add a program” from “Add” and specified the path below.


    %localappdata%\Microsoft\WindowsApps\wt.exe

    However, the following error is displayed and I cannot add it.


    wt.exe
    The file cannot be accessed.

    How can I add it?
    The environment is Windows10 2004 64-bit, Win+X Menu Editor Ver.3.0.0.0.
    By the way, Win+X Menu Editor is running as an administrator.

    Best regards.

    1. What worked for me was to create a shortcut to %localappdata%\Microsoft\WindowsApps\wt.exe, then I created the hash for the shortcut. Using the Win-X Menu Editor use the “Add A Program” and point it to the shortcut you created.

  7. It doesn’t seem possible to add a shortcut for Command Prompt pointing to cmd.exe – it doesn’t show up in the menu.

Leave a Reply

Your email address will not be published.

Exit mobile version
Using Telegram? Subscribe to the blog channel!
Hello. Add your message here.