如果我在Visual Studio的调试模式下运行应用程序时按下F12,WM_KEYDOWN消息将无法到达我的事件循环,但它会立即触发断点。是否有可能禁用此功能或将其重新分配给另一个不那么冲突的快捷键(例如CTRL + F12)?我想这必须是一个注册表键,但我找不到它...任何帮助都将不胜感激!
F12是一个为调试器保留的按键及其基于内核的 https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms646309.aspx
但可以更改注册表项
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug] UserDebuggerHotKey=dword:00000000
将其它按键,如0x13(暂停)替换为F12
您可以从“工具”->“选项”->“键盘”中禁用它。
将值重新分配给任何你想要的内容非常容易。
1) 转到工具/选项,点击键盘(在环境下)。然后找到与F12相关联的命令。这取决于你使用的映射方案,所以我无法告诉你要找哪个命令。
然后将其更改为任何你想要的内容。
真遗憾我不能添加注释...
当我输入F12(按快捷键)时,我得到Edit.GoToDefinition。 如果我删除该分配,然后再试一次,它会显示如何与页面检查器一起使用。
如果你输入F12但没有任何显示,那么你可以假设VS没有使用F12而是使用其他东西。
你可以尝试将F12分配给某些内容,看看是否调用了另一个功能。这样至少你就知道是VS控制它还是外部的东西。
请记住,你也可能有一些应用程序已经将F12重新映射,因此当你按下它时,你的应用程序会收到某个信号,表示已按下某个其他键或键组合(我曾经碰到过这种情况)。