圖1 RC中已經將原來的File項改變爲“Project”
圖2 運行的時候仍然顯示原來的“File”
造成這種現象的原因:
程序在運行之後將運行信息寫進註冊表,而程序在退出的時候沒有清理掉這些信息,從而導致了在以後程序運行時依然調用前面註冊表裏邊留下的信息去完成界面的初始化以及更新等工作。而我們應該需要的是讓程序在運行的時候調用我們最新的配置或者修改信息,而不是以前的信息。
解決方法:
找到CxxxApp類的成員函數ExitInstance(),在調用基類(CWinAppEx)的ExitInstance()函數之前先調用一次CleanState()函數。如:
點擊(此處)摺疊或打開
- int CProjectExplorerV10App::ExitInstance()
- {
- //TODO: handle additional resources you may have added
- AfxOleTerm(FALSE);
- this->CleanState(); //add
by cz
- return CWinAppEx::ExitInstance();
- }
CleanState函數的作用:從Windows註冊表移除了有關應用程序的所有信息
這樣在以後程序每次退出的時候都先清理掉註冊表裏邊的所有有關該程序的信息。下次再運行的時候就不會有舊信息“干擾”的問題出現了。