gpt4 book ai didi

windows-7 - 为什么快捷方式调用的命令在Windows 7下的MFC中永远不会崩溃

转载 作者:行者123 更新时间:2023-12-02 02:17:21 25 4
gpt4 key购买 nike

在Windows 7下的MFC应用程序中通过键盘快捷方式调用命令时,即使在命令处理程序执行过程中出现被零除或访问冲突等非法操作,应用程序也不会崩溃。然而,通过菜单调用的相同命令会按预期崩溃。

此行为发生在 Windows 7 下,但不会发生在 Windows XP 下(我没有要检查的 Vista)。应用程序是使用 Visual Studio 6 还是 Visual Studio 2010 编译的,MFC 是否静态链接以及它是发布版还是调试版都无关紧要。

这显然是一个主要问题,因为在访问冲突或其他问题的情况下,命令会过早停止,可能会使数据处于未定义状态,而应用程序会继续运行,就好像什么都没发生过一样。世界上的每个 MFC 应用程序都可能与此问题有关。

可以通过为每个键盘快捷键实现一个特殊的 stub 命令处理程序来规避这个问题。这些 stub 命令然后通过 PostMessage 函数将 WM_COMMAND 放回消息中。

演示问题和解决方案的非常简单的 stub 应用程序的完整 Visual Studio 6 和 2010 项目可在此处找到:

http://www.epsitec.ch/download/mfccrash/mfccrash.zip

所以实际问题是:有人知道发生了什么事吗?谁能提出比我找到的更优雅的解决方案?

最佳答案

我想你已经打了kb976038 ,有可用的修补程序。当然,您始终可以尝试将您的应用设为 64 位,但我想在大多数情况下这并不是一个真正的选择。

关于windows-7 - 为什么快捷方式调用的命令在Windows 7下的MFC中永远不会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9869188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com