MFC:应用程序的注册表项有随机的 GUID 键,其中添加了一个名为“Untitled”的空白 REG_SZ 值?

问题描述

我注意到我的基于 MFC 的应用程序(也使用 BCGControlBar Pro)正在使用 GUID(例如 PropertySource)的应用程序键下创建多个键。在这些键中是一个名为 Computer\HKEY_CURRENT_USER\SOFTWARE\Acme\Program Name\3CF4873E-E8CC-4e67-A3D2-56F5B610B4FA 的单个 REG_SZ 值,其中数据为空(空字符串)。

这一定是框架正在做的事情,因为我不创建它们。这些是什么,我如何阻止它发生?

谢谢。

解决方法

问题正如上面怀疑的@Adrian Mole。它与 MFC 中的 Restart Manager 实现有关。有趣的是,我无法在 Debug 版本中重现该问题,只能在 Release 版本中重现。

由于我的应用程序确实不是基于文档打开和保存文件的位置,我能够通过更改我的应用程序的 MFC CWinApp 类中的选项来解决它:

m_dwRestartManagerSupportFlags=AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;

m_dwRestartManagerSupportFlags=AFX_RESTART_MANAGER_SUPPORT_RESTART | AFX_RESTART_MANAGER_SUPPORT_RECOVERY;

此外,在 windows-classic-samples-master 中,您会找到一个 rmfilterapp,您可以对其进行修改,以便使用重启管理器轻松测试您的应用。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...