写MFC程序还是先注释写注册表或者先清理注册表吧!

本文讲述了在开发MFC程序时遇到的自动写注册表问题,导致的调试困扰和解决方法。自动注册表设置可能导致皮肤、菜单等显示异常,尤其是在多语言支持时。建议在InitInstance中注释SetRegistryKey,并在ExitInstance中进行CleanState操作。如果遇到问题,可能需要手动清理注册表。此外,对于ModifyMenu的使用也提供了注意事项。
摘要由CSDN通过智能技术生成
血的教训,浪费了大把时间调试找问题,然而却不知道MFC自动写注册带来的巨坑有多坑。一次次让你怀疑人生,
微软这个设计老子真心想拍死你。
1.自动写注册表,这里说自动是创建工程自带SetRegistryKey将巨坑埋下伏笔
2.注册信息不是空,讲道理应该为空,但老vc都知道软件保留用户操作习惯是默认的。
3.注册信息奇多,含菜单/工具栏/状态栏/停靠窗口,,,似乎除了main  client区域。(需要补充,不确定)
这些东西,如果你没注释,开发过程中受的苦就是:皮肤设置成功,显示还是原来的,菜单修改成功显示还是原来的,原因就是注册表里保存的是你的 资源信息。各种接口调用成功了,显示出来的却不是你想要的是不是怀疑人生?
开发后,如果不注意,在你的电脑显示好好的,在人家的电脑上就是不一样,原因还是注册表。

此次就是为了做多语言支持,修改菜单 ModifyMenu(hSubMenu,i, MF_STRING| MF_BYPOSITION,ID_FILE_SAVE,"Save");总是不成功,实际调用是正确的,清除注册表就ok了。

好了,暂不吐槽了,处理问题才是关键:
1.InitInstanc
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值