我想把一些参数写到注册表里,请问该用什么类,如果可以的话稍微介绍一下这个类!

解决方案 »

  1.   

    使用注册表键存储应用程序信息 
        记住用户上次使用后的设置也是使应用程序更为友好的重要步骤。将其存入注册表也是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项中。 
      

  2.   

    VC没有自己的注册表类,但许多人写了外加类,主要有CRegKey,CRegister,你可以在网上搜索一下“注册表”找到他们。通常添写注册表都是用的API。
      

  3.   

    : icemanpro(雅彦) 
    谢谢,我是新手,如果不怕麻烦,留QQ给我!!