使用注册表键存储应用程序信息

记住用户上次使用后的设置也是使应用程序更为友好的重要步骤。将其存入注册表也是Windows程序的要求。 这个过程牵扯到确定注册表中存储信息的地方,然后用一些MFC函数在必要时读出和写入。保存用户本次运行时的设置的常规办法是将其保存在注册表的HKEY_CURRENT_USER/Software主键中,当然还包含诸如在Sofware键下建立一个关于公司名的键,在公司名键下建立应用程序名称键,然后是存储各类信息的子键。如HKEY_CURRENT_USER/Software/DomeWorks/DeskShow键下保存了我所写的DeskShow程序的键及值。 实现上述操作很简单。在InitInstance()函数中用CWinApp::SetRegistryKey()可设置公司名,如: BOOL MyApp::InitInstance() { SetRegistryKey(_T("DomeWorks")); ? } 如果你下一个子键为应用程序名的话,则读写时必须任何额外操作。默认情况下,MFC将把应用程序名当作配置(文件或主键)名。但如果你想修改它,或许它是主应用的一个子项目吧,紧跟上述代码写下: free((void *)m_pszProfileName); m_pszProfileName = _tcsdup(_T("DeskShow")); 然后,当读写注册表值时,用CWinApp的函数GetProfileString(), GetProfileInt(), GetProfileBinary(), WriteProfileString(), WriteProfileInt(),WriteProfileBinary() : void MyClass::MyFunction() { CString lastfilename = AfxGetApp()->GetProfileString( _T("Initialize"),_T("LoadFile"),_T("")); AfxGetApp()->WriteProfileInt(_T("Epochs"), T("CurrentTime"), m_currtime); ? } 第一个调用是从HKEY_CURRENT_USER/Software/DomeWorks/DeskShow/Initialize键中取出LoadFile项的值来,如果无值则返回0。第二个调用将成员变量m_currtime写入DeskShow主键下的Epochs键的CurrentTime项中。
阅读更多
文章标签: 存储 mfc windows
想对作者说点什么? 我来说一句

安装驱动时对注册表的修改

2009年05月27日 170KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭