The original question deals with Windows 7, but it's happening now for new reasons in Windows 10. Here's a general answer that deals with both situations.
The general problem
There's an excellent explanation of the problem and its cause at the 2012 MSDN post Why is there sometimes a long delay between pressing a hotkey for a shortcut and opening the shortcut?
Executive summary: before launching a program via its shortcut key, Windows first polls all currently running programs and asks "Is this your shortcut key?" If so it switches focus to that window rather than spinning up a new copy of the program.
The problem happens when a window somewhere refuses to answer the question. This can be a program that's generally non-responsive for some reason, though it can also happen for other reasons (see below). Windows waits 3 seconds before muttering "jerk" under its breath and moving on to the next window to ask it the same shortcut question.
Finding unresponsive programs
- Start Windows, then before opening any other programs try a shortcut key. Do you experience a delay? If so, go to step 3.
- Launch any other programs you typically run. Do you experience a delay? If not, wait until you do.
- One by one, stop each interactive program; cycle through them with Alt-Tab to be sure you've got them all. After stopping each one, see whether the shortcut delay has gone away.
- Still have a delay? Do the same thing with the icons in the taskbar's notification area (aka the "system tray"): right click and exit, checking for the shortcut delay after each one. You might need to expand the notification area to see all of those icons.
Now that you know your culprit, you get to decide: is that program worth the delay it causes? For example, Adobe Creative Cloud has sometimes caused problems for me, so I just tell it not to run when Windows starts. I can still use Illustrator etc. without it running.
If you can't live without the program, either live with the shortcut key delay or, as "user 99572 is fine" suggests, try a macro program like AutoHotKey.
Windows 10: Action Center
Windows Action Center can also cause the delay. (This might be a problem in Windows 8 too; I skipped from 7 to 10). Whenever you see this:
![enter image description here](https://i.stack.imgur.com/WspUE.png)
it means the Action Center has system notifications for you to review—which also causes the shortcut key delay, even though the Action Center isn't non-responsive per se.
Click the icon and clear the notifications, then the icon will look like this, and Action Center should no longer cause a shortcut key delay:
![enter image description here](https://i.stack.imgur.com/zF0Ck.png)
If a notification comes up repeatedly and you find it unhelpful, right click it and tell Windows to turn off notifications for that application.
BUT... sometimes Action Center can cause problems even if no notifications are waiting. Even with no notifications showing, I've often cleared up this problem simply by opening and closing Action Center. You can do this quickly with the [Windows]-A shortcut key combination.
Windows 10: unresponsive background processes
Sometimes a background process can cause this problem too. Two in particular are:
There might be others culprits as well. The significant thing is that these are foreground applications that, for some reason, appear as background processes even though you might not have actually run them. This problem might happen with other apps, and might be limited to Metro apps (TBD).
You can use some or all of the following techniques to eliminate these processes:
- Kill them manually with the task manager whenever you notice them.
- As discussed in harrymc's answer to this related superuser question, turn off specific background apps at Settings > Privacy > Background Apps. Not all apps can be turned off in this way.
- As discussed in Helen's answer to the same superuser question as above, disable Superfetch.
After using techniques #2 and #3, these rogue background processes no longer appear on my computer.
New problem in Windows 10 build 1809 (2/2019): Settings App
This Windows build has introduced a new and pernicious shortcut inhibitor. As soon as you start Windows, go to task manager. You have the problem if you see Settings running as a background task:
![settings running as a background process](https://i.stack.imgur.com/zvYp8.png)
If you kill this task, shortcut keys will be fast again, but the Settings app will reappear a while later, re-introducing the problem.
As noted by Cerno in the comments, Windows 10 Enterprise users are able to prevent Settings from running in the background by going to Settings > Privacy > Background Apps. But for Windows Home and Professional users, "Settings" does not appear in the background app list. (If anyone knows of a way to make it appear, please post in the comments.)
July 2020 Update on Settings: After installing Windows 10 Pro v2004 Build 19041.388 (7/2020), my computer became unstable and I had to reinstall Windows. Since doing this, "Settings" now appears as an option in Settings > Privacy > Background Apps. I don't know whether this happened because of installing Build 19041.388 or because of the subsequent reinstall. In any case, disabling Settings as a background app has (finally!) resolved the problem for me.
Other...
This 3-second timeout probably doesn't cause every keyboard shortcut delay.
One one of my laptops, whenever Adobe Creative Commons is running in background I sometimes experience a delay lasting as long as 30 seconds before launching an app. That's 10 times the timeout Window uses before giving up on a non-responsive process, so something else must be going on in this case.
1)Make a shortcut to Wscript.exe
2)Set the target adding the vbs file as a parameter
e.g. c:\windows\system32\wscript.exe c:\blah\a.vbs
3)Drag the shortcut onto the taskbar.
You could change the icon between steps 2 and 3, or after step 3.
You can drag multiple on, but you must ensure that you change the target of the shortcut.
If you tried to drag the vbs file itself onto the taskbar you should find it won't work but the above method should work
If you try to drag the exe itself, it's a bit of an issue 'cos you're not changing the target of the shortcut. And anyhow since dragging makes a shortcut anyway, it makes sense to drag a shortcut.
You can see the path to these pinned shortcuts here (change username accordingly)
C:\Users\name\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
And you can get that path by shift right clicking a pinned icon after all its windows are closed, and you get a menu with properties which is the shortcut properties, and in the general tab you see the location of the lnk file - the directory it's in being that one I mentioned.
Best Answer
Windows explorer keeps a cache of icons. You can try deleting the following file:
Also, killing
explorer.exe
and restarting it may help.