在任何Web浏览器和Windows文件管理器以及许多其他应用程序中,都支持向前和向后导航。如果您的鼠标有任何鼠标按钮,则默认情况下(或至少大部分时间)默认使用额外的鼠标按钮。
我想在基于WinAPI的C ++应用程序中实现这一点。不过我想知道怎么会这样做?是否捕获了鼠标按钮"手动"在每个具有此向前/向后导航的应用程序中,或者在WinAPI中的某个位置是否存在本机支持?
手动捕获按钮可能总是一个选项,但如果已经存在处理此功能的现有功能,那么似乎应该使用它。这也可能更可靠。
总结一下:我希望我的应用程序能够正确处理/接收来自具有此类按钮的鼠标的向后和向前点击。
答案 0 :(得分:2)
WM_APPCOMMAND消息提供APPCOMMAND_BROWSER_FORWARD
(“向前导航”)和APPCOMMAND_BROWSER_BACKWARD
(向后导航)导航命令。您可以在应用程序中处理它们,即使它不是浏览器。
文档包含有关生成WM_APPCOMMAND
的方式和时间的信息:
DefWindowProc在处理WM_XBUTTONUP或WM_NCXBUTTONUP消息时,或者当用户键入应用程序命令键时,会生成 WM_APPCOMMAND 消息。