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

函数简介:

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的支持。

时间: 2024-10-03 22:50:41

Window9X中读取和存储注册表键值的简易类的相关文章

Windows 7中如何快速删除指定注册表键值?

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   Windows7 RTM 7600出现噪音杂音解决方法 问题描述:电脑Lenovo家悦2240,1G内存,我装的是windows7 RTM7600,显卡 NVIDIA GeForce7100,声卡high definition audio device ,为什么经常出现噪音杂音啊,特别是听着歌,在浏览网页的时候特别明显,吱吱啦啦的,恳求各位高手指点! 解决办法:

Win7系统如何删除开机启动项的注册表键值

  当我们遇到开机报错.文件损坏甚至是蓝屏等种种问题时,我们可以首先检查Win7系统开机自动运行的程序是否存在病毒文件以及采取相应的处理.下面小编就为大家介绍一下如何删除开机启动项的注册表键值. 1.首先,我们需要的点击开始菜单,在搜索框内输入regedit,在搜索结果中点击右键,以管理员身份运行; 2.找到下列键值: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun HKEY_CURRENT_USERSoftwareMicro

修改注册表键值

  想修改注册表的键值,该怎么进行修改呢? 首先在"运行"中输入regedit,进入要修改的注册表项,然后右击键值项,然后在出现的对话框中选择"修改". 在弹出的"编辑字符串"中,将"数值数据"文本框中重新进行修改,就完成了对注册表键值的修改.

脚本-批处理命令实现对注册表键值大小做判断

问题描述 批处理命令实现对注册表键值大小做判断 例如:cmd /c reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogSecurity /v MaxSize 对输出的MaxSize值大小做判断,若大于0x1400000则输出yes,否则输出no.请问命令行如何实现? 解决方案 用bat批处理来调用reg query,获取结果,然后判断返回字符串,再来输出yes或者no. 你只要调用bat

在WIndows Mobile里,C#中有办法取得某个注册表键值改变后发生的事件吗????????????????????

问题描述 在WIndowsMobile里,C#中有办法取得某个注册表键值改变后发生的事件吗???????????????????? 解决方案 解决方案二:我用dllimport,但是publicstaticIntPtrGetRegistryHandle(RegistryKeyregistryKey){Typetype=registryKey.GetType();FieldInfofieldInfo=type.GetField("hkey",BindingFlags.Instance|B

删除注册表键值导致系统无法正常启动提示错误恢复

误删注册表部分关键键值重启后导致系统无法正常启动,例如删除注册表: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}中的upperfilters键值(处理设备接入请求的驱动键值).系统启动时显示"Windows错误恢复"黑白画面,不论选择"启动修复(推荐)"项还是选择"正常启动Windows"都无法正常进

利用InstallShield获取注册表键值的脚本_其它

Use  nvType = REGDB_NUMBER;  szKey = "\\SYSTEM\\CurrentControlSet\\Servic  es\\{58ECC408-265E-4342-9DA4-70BF1796D81D}\\Parameters\\Tcpip";  szName = "EnableDHCP"  RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );  RegDBGetKeyvalueEx ( szKey,

代码-如何用VC读取注册表二进制值,比如ShutdownTime?求助~

问题描述 如何用VC读取注册表二进制值,比如ShutdownTime?求助~ 用RegQueryValueEx读取数据,应该放在哪种数据类型中呢,求有效代码~ 下面这段是自己的提取TypedURLsTime的代码.不知问题在哪.. int main() { HKEY hKey; DWORD lpType = REG_BINARY; BYTE time[64]; DWORD timeSize = sizeof(time); RegOpenKeyEx(HKEY_CURRENT_USER, "Soft

jQuery实现弹出窗口中切换登录与注册表单

  本文给大家推荐的是一款jQuery实现弹出窗口中切换登录与注册表单的特效.适用浏览器:IE8+.FireFox.Chrome.Safari.Opera.十分的方便实用,有需要的小伙伴可以参考下. 当点击页面中的登录或注册按钮时,将会弹出一个模态窗口,就是一个弹出层,我们可以在弹出层上轻松的切换登录与注册表单,极大的方便用户,不需要关闭层再去点击转向其他操作,在很多网站上已经广泛应用. 本文结合实例,通过使用jQuery以及CSS3和HTML5技术实现这一效果. HTML 我们现在主页面上设置