一旦我在myApp :: InitInstance()中创建我的第一个应用程序,我就是MFC的新手.我有
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
Run Code Online (Sandbox Code Playgroud)
我可以删除它并将设置保存到我自己的ini构造中吗?
编辑:进一步测试后,如果您的应用程序类派生自以下,则下面的解决方案不起作用CWinAppEx!如果您的应用程序直接来自,它确实有效CWinApp.
要将值存储在.ini文件而不是注册表中:
SetRegistryKey.在您的应用类中,设置m_pszProfileName为.ini文件的完整路径.必须使用分配文件名字符串malloc,因为框架将free在您的应用程序关闭时调用它.首先free是现有值,然后分配新字符串:
free((void*)m_pszProfileName);
m_pszProfileName = ::_tcsdup(_T("C:\\somedir\\myini.ini"));
呼叫CWinApp::GetProfileInt,CWinApp::WriteProfileInt和往常一样的功能.
我强烈建议使用APPDATA下的路径来存储您的.ini文件.