问题描述
我注意到我的基于 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
,您可以对其进行修改,以便使用重启管理器轻松测试您的应用。