How to resolve hotkey conflicts in Windows: Find out which program is using which shortcut

Can't register keys
(Image credit: Tom's Hardware)

If you can perform an action by hitting a keyboard combination, that's a huge timesaver. One of the great things about Windows is how easy it is for users to create keyboard shortcuts, how many are already built into the OS, and how many third-party programs add their own as well. However, sometimes there's a conflict where more than one application is trying to assign the same hotkey. And occasionally, a program will even inform you that it can't register the hotkey it wants.

For example, the other day I installed ShareX, a free screen recording application (see how to record your screen in Windows), and it gave me an error saying that it could not register a hotkey for the Print Screen key. Windows has a default behavior for Print Screen (copying the screen to the clipboard) but apps can override that. ShareX couldn't take ownership of the key, because another application was already doing so. 

Often, if one application has registered a hotkey, it's obvious because you press the key and that application fires. But sometimes, nothing happens so it's not immediately clear which program is using that hotkey (which you'd need to know if you want to stop it by uninstalling the app or changing its settings). 

Fortunately, a free utility called Spy++ allows you to see which program owns a hotkey. The process is a little involved and it won't work for in-app hotkeys (ex: a keyboard shortcut that only works within Photoshop or Chrome) or for some types of shortcut (ex: AutoHotKey shortcuts), but it can help you track down hotkey conflicts. Here's how to use it.

1. Install Visual Studio 2022 Community, a free program, if you don't have it already. Make sure that you have Desktop Development with C++ checked during setup.

(Image credit: Tom's Hardware)

2. Launch Spy++, a tool that comes with Visual Studio. You can launch it from within the Visual Studio tools menu. Or you can go directly to the C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\ folder and double click spyxx_amd64.exe.

(Image credit: Tom's Hardware)

3. Select Log Messages from the Spy menu.

(Image credit: Tom's Hardware)

4.  Check All Windows in System on the Windows tab.

(Image credit: Tom's Hardware)

5. Check Keyboard and Hotkey on the Messages tab then click Ok.

(Image credit: Tom's Hardware)

A blank window appears.

(Image credit: Tom's Hardware)

6. Hit the hotkey, with another window or the desktop in focus. Some hotkeys may not work from within the Spy++ window. You will need one or more entries appear in the Spy++ logging window.

In our sample case, we're going to hit the Print Screen key and see what it is assigned to.

7. Right click on the appropriate entry in the Messages window and select Properties. If there are multiple entries, try ones that have WM_HOTKEY in the name. 

(Image credit: Tom's Hardware)

8. Click the Windows Handle ID.

(Image credit: Tom's Hardware)

9. Click the Process ID.

(Image credit: Tom's Hardware)

The name of the application that used your hot key should be in the module name field, as shown below.

(Image credit: Tom's Hardware)

If this process did not give the name of an application that used the hotkey, but instead the application you were in when you hit the hotkey, try looking for other log entries in the Message window and selecting their properties.  You may also try closing Spy++, reopening it and trying again and making sure you clicked your hotkey with the focus on the desktop or another app (the desktop is best if possible).

In my experience, Spy++ picked up a lot of hotkeys, but was inconsistent when it came to registering built-in Windows hotkeys (ex: hitting Win + E to launch Windows Explorer registered some times and not others). And it did not log hotkeys that I had created using AutoHotKey.

Avram Piltch
Avram Piltch is Tom's Hardware's editor-in-chief. When he's not playing with the latest gadgets at work or putting on VR helmets at trade shows, you'll find him rooting his phone, taking apart his PC or coding plugins. With his technical knowledge and passion for testing, Avram developed many real-world benchmarks, including our laptop battery test.