问题描述:手动修改MFC中目标菜单栏对应ID的名称,重新生成后不起作用,仍然是修改前的名字
网上有三种方法,我全都尝试了一下,只有最后一种生效了,在此全贴出来:
1.手动清理MFC的注册表信息
因为程序编译后会保存在注册表里面
打开注册表,里面有很多叫做MFCToolBar-XXX的东西(可以通过Ctrl+f搜索),删除掉,重新编译MFC项目。
参考链接:https://developer.aliyun.com/article/604846
此方法我通过Ctrl+f搜索,只找到了其他软件的MFCToolBar内容,没有找到VS对应的信息,所以没能成功
2.在ExitInstance()中调用函数自动清理注册表信息
在项目中找到ExitInstance()函数,在其return前添加 this->CleanState();
截图如下:
参考链接:https://blog.youkuaiyun.com/qq_23195213/article/details/65634575
此方法我添加后重新生成整个项目没有变化,暂无法确定原因
3.在InitInstance()中调用函数自动清理注册表信息
在项目中找到InitInstance()函数,在其return前添加 CleanState(_T("WorkSpace"));
截图如下(为了方便截图我把InitInstance中其他代码都删掉了):
参考链接:网友IamVeryCool的评论
重新生成再次运行菜单栏成功修改!