MFC应用程序在Windows 7上崩溃

时间:2011-12-02 01:08:29

标签: windows-7 mfc

我有一个MFC应用程序,适用于Windows 7上的XP和崩溃。(我没有源代码 - 这是第三方不再支持的第三方应用程序;我只是想获取运行的麻烦事。)

大多数应用程序都有效,但有一个屏幕(MDI窗口)包含大量控件(有史以来最差的UI),包括3个ComboBox控件。只需将鼠标移到这些控件(处于收缩状态)上就会导致应用程序崩溃并显示错误“MFC应用程序已停止工作”。

根据我可以使用Spy ++确定的,控件是标准的ComboBox窗口类。当然,它们是子类,我假设响应鼠标悬停消息而发生的任何处理都会导致错误。

我有点希望在XP兼容模式下运行它会有所帮助,但事实并非如此。

什么样的东西会导致Windows 7在XP上运行正常时失败? (应用程序的其他一些部分失败了,因为缺少一些DLL,我能够通过从旧环境中复制DLL来解决这个问题。我有点希望这可能是类似的东西。)

PS。旧的环境有Office 2003,而新的环境有Office 2010.虽然这个事情与Office没有关系,但我提到它以防万一。“/ / p>

1 个答案:

答案 0 :(得分:1)

尝试以管理员身份运行该软件。我的猜测是软件试图将某种日志/临时文件写入C:\Windows\C:\Program Files\。打开文件进行写入时,应用程序可能会假定有效的文件指针?

如果有效,请使用Process Monitor确定尝试打开的文件。然后授予此文件夹/文件的完全权限,并查看它是否在正常模式下工作。

更新

如果悬停控件会导致崩溃,我敢打赌你正在使用某种Skin Manager来获得某种漂亮的用户界面。剥皮涉及高级挂钩和/或API劫持。这些技术无法保证在未来版本的Windows上运行。

我知道旧版本的Codejock SkinManager在Windows Vista及更高版本上崩溃了。如果那是您正在使用的库我建议您将其升级到最新版本,或者只是完全禁用它。