在Windows系统中,F12永远为调试器所预留,不能被用来注册为快捷键,如我们通常使用F12打开浏览器的调试工具。即便当前未调试应用程序,如果内核模式调试器或实时调试器有驻留,F12也会被预留。

详见:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646309.aspx

可以通过修改注册表来指定其他的按键作为调试器预留快捷键:

1
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug] UserDebuggerHotKey=dword:00000000

比如0x13 (Pause键)。