血的教训,浪费了大把时间调试找问题,然而却不知道MFC自动写注册带来的巨坑有多坑。一次次让你怀疑人生,
微软这个设计老子真心想拍死你。
1.自动写注册表,这里说自动是创建工程自带SetRegistryKey将巨坑埋下伏笔
2.注册信息不是空,讲道理应该为空,但老vc都知道软件保留用户操作习惯是默认的。
3.注册信息奇多,含菜单/工具栏/状态栏/停靠窗口,,,似乎除了main client区域。(需要补充,不确定)
这些东西,如果你没注释,开发过程中受的苦就是:皮肤设置成功,显示还是原来的,菜单修改成功显示还是原来的,原因就是注册表里保存的是你的
资源信息。各种接口调用成功了,显示出来的却不是你想要的是不是怀疑人生?
开发后,如果不注意,在你的电脑显示好好的,在人家的电脑上就是不一样,原因还是注册表。
此次就是为了做多语言支持,修改菜单
ModifyMenu(hSubMenu,i, MF_STRING| MF_BYPOSITION,ID_FILE_SAVE,"Save");总是不成功,实际调用是正确的,清除注册表就ok了。
好了,暂不吐槽了,处理问题才是关键:
1.InitInstanc