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.

Windows 10 task manager WinX 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. winx menu editor in windows 10

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". 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": Name the item

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

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

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: add presets

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

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: add control panel items 1 add control panel items 2 add administrative tools item 1 add administrative tools item 2

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: remove the item remove the item 2

Click Restart Explorer and the removed items will disappear: removed items

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: remove group

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. group removed

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

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": move to group

Click Restart Explorer and you are done. item moved item moved in win x menu

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: restore menu restore menu confirmation

Click Restart Explorer. The menu will be restored: menu 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

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

  1. David H Johnson

    Thank you for the update!

    Reply
    1. Sergey Tkachenko Post author

      You are welcome :)

      Reply
  2. Tyler

    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.

    Reply
    1. Sergey Tkachenko Post author

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

      Reply
  3. Mathew

    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.

    Reply
    1. Sergey Tkachenko Post author

      Please try with version 3.0.

      Btw, which windows version you are running?

      Reply
  4. Tweaker

    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.

    Reply
    1. Sergey Tkachenko Post author

      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.

      Reply
  5. Tweaker

    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.

    Reply
  6. Lilj

    Thanks very much, but how can i add arguments for a program?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.