Windows 10 shortcut keys only work when shortcut is on desktop

I am creating a keyboard shortcut to open the calculator in Windows 10. I have created a shortcut on my desktop and added the following key configurations:

Link to settings screenshot of shortcut

This works fine whilst the shortcut is on the desktop; pressing CTRL+NUM0 opens the calculator.

However, I don't want the shortcut cluttering my desktop so I want to hide it somewhere, but when the shortcut is moved from the desktop it stops working. This includes moving it to the StartMenu folder.

I read on this thread that on Windows 7 the keyboard shortcuts only work on the desktop and when the shortcut is placed in the StartMenu folder.

Has this changed with Windows 10? Is there a way to implement this natively on Windows 10 without having the shortcut on the desktop?


Yes. You can place the shortcut in this folder, or one of its sub-folders:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs

*note you must first sign out and back in or restart your computer for the shortcut to start working.


This might not exactly answer how to fix this specific issue with how windows behaves with application keyboard shortcuts. But I had this same problem like just yesterday, and the alternative solution I found worked best for me (and as a nice bonus doesn't require me to have a shortcut on my desktop or anywhere else) was using AutoHotkey

With autohotkey you can create scripts in a format like this:

^!x:: ;Ctrl+Alt+X
Run, C:\Program.exe ;or a similar absolute path to the program, batch script or whatever it is you want to launch.
return

The above script will run C:\Program.exe when I press Ctrl+Alt+X when running, and it is rather absolute (i.e. not as likely to fail as those stupid windows shrtocut file keyboard shortcuts, they seem kinda badly implemented if you ask me)

This script would have to be in an autohotkey script file with a name something like startprogram.ahk and if you want to start this script on startup (so that it is always active, i.e. the shortcut you created can always be used as soon as you start up your computer) you can place it in C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

And it will autostart along with every other program you put in there when you boot. Nice and easy. To test the script you simply run it by double clicking on it and it executes like any other program.

You can find a list of valid key-symbols here (like + for shift, # for win logo key, etc) or alternatively here is a list of all valid keys and how to write them into a script (turns out you can write shift as "Shift" and not "+", be sure when you're writing scripts to be careful with upper/lowercase letters, these things matter).

Don't forget that you can put as many shortcuts as you want in one script file, (after the return line just put another shortcut that looks something like the above code sample) so you only need to have one script for your keyboard shortcuts. The only downside to this program is that some online games with punkbuster/anti-cheating systems will detect autohotkey as a potential cheat, so if you do a lot of online gaming (especially shooters) you may want to keep that in mind.

In your use case the script would look like this:

^Numpad0:: ;Ctrl+NUM0
Run, C:\Windows\System32\calc.exe
return

And you can also for redundancy add a shortcut that does the same with
NumpadIns (for times when num lock is off) if you'd like.

Hope this was helpful.


If you right-click on a file and create a shortcut, and then move that shortcut to the Desktop, the Shortcut key DOES NOT WORK. You have to right-click on the Desktop itself, then select New...Shortcut, and point it to the desired file.

The shortcut itself does not appear different, either way, but the only one that has working shortcut keys is the one you create ON THE DESKTOP.