首页/技术开发/内容

Window9X中读取与存储注册表键值的简易类

技术开发2024-06-13 阅读()
函数简介:

LONG CReg::SetValue(HKEY hKeyRoot, LPCTSTR lpSubKey, LPCTSTR pszKey, LPCTSTR pszData)

函数说明:

    设置指定键的值,若该键不存在,则创建该键。

返回值:

    若操作成功,则返回ERROR_SUCCESS。

    若操作失败,则返回一个非零值。可以通过调用FormatMessage函数,并使用
FORMAT_MESSAGE_FROM_SYSTEM标志得到这个错误值的描述。

参数说明:

    hKeyRoot:根键,如HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE等

    lpSubKey:字符串形式的子键名称,如SoftWare\Windows

    pszKey:需要设置值的健的名称

    psaData:欲设置的新值

 

LONG CReg::GetValue(HKEY hKeyRoot, LPCTSTR lpSubKey, LPCTSTR pszKey, CString &sval)

函数说明:

    获得指定键的值,若该键不存在,则返回一个错误值。

返回值:

    若操作成功,则返回ERROR_SUCCESS。

    若操作失败,则返回一个非零值。可以通过调用FormatMessage函数,并使用
FORMAT_MESSAGE_FROM_SYSTEM标志得到这个错误值的描述。

参数说明:

    hKeyRoot:根键,如HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE等

    lpSubKey:字符串形式的子键名称,如SoftWare\Windows

    pszKey:需要设置值的健的名称

    sval:存储键值的字符串

以上两个函数只能操作字符串键值。

 

使用方法:

比如要获得HKEY_CURRENT_USER\\Software\\MyApp\\Set键的值,可以这样操作:

CString strset;

CReg::GetValue(HKEY_CURRENT_USER, LPCTSTR("Software\\MyApp"), LPCTSTR("Set"), &strset);

要设置HKEY_CURRENT_USER\\Software\\MyApp\\Set键的值,可以这样操作:

CString strset = _T("New Value")

CRet::SetValue(HKEY_CURRENT_USER, LPCTSTR("Software\\MyApp"), LPCTSTR("Set"), strset.GetBuffer(strset.GetLength)));

当然,以上的函数需要MFC的支持,你也可以稍微修改一下,就可以不需要MFC的支持。

……

相关阅读