注册表问题-----如何建立删除主键和子键?

qqcc 2003-12-12 07:18:07
如何在根键HKEY_LOCAL_MACHINE先建立主键MyKey在该主键下建立MySetUp子键,
在子键中写入字符串"My God I come"

如何依次从后往前删除字符串,子键,主键?
...全文
465 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhucde 2003-12-13
就是没办法对HKEY_LOCAL_MACHINE进行操作
  • 打赏
  • 举报
回复
zhucde 2003-12-13
HKEY key1,key2,key3;
DWORD d=sizeof(char);
if (ERROR_SUCCESS==RegOpenKeyEx(HKEY_CURRENT_USER,"",0,KEY_READ,&key1 {

if (HKEY_LOCAL_MACHINE==RegCreateKeyEx(key1,"MyKey",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key2,&d))
{ MessageBox("open");

if (ERROR_SUCCESS==RegCreateKeyEx(key2,"MySetup",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&key3,&d))
{


RegSetValueEx(key3,NULL,NULL,REG_SZ,(LPBYTE)"My God I come",MAX_PATH);
RegCloseKey(key3);

}

RegCloseKey(key2);
}

RegCloseKey(key1);
}

看看你的HKEY_CURRENT_USER有没有写进去了!
  • 打赏
  • 举报
回复
qqcc 2003-12-13
请诸位写几行,RegOpenKeyEx RegCreateKeyEx RegSetValue函数我有,就是个参数含义和取值不清,MSDN上也没有例子!!!!!!
  • 打赏
  • 举报
回复
glacierrr 2003-12-12
来晚了,就下面几个了
RegOpenKeyEx
RegCreateKeyEx
RegSetValue
  • 打赏
  • 举报
回复
一个实用的注册表类


在日常编程中,注册表的使用非常广泛,为此,笔者仔细研究了关于注册表的API函数(全部在WINREG.H中定义),编写了这个注册表类class CRegistry,供大家参考。 主要函数介绍如下:

1、 CreateKey(LPCTSTR lpSubKey)
创建指定键。
CreateKey("Staff\0");

2、 Open(LPCTSTR lpSubKey)
打开指定键。
Open( "Software\\Staff\0");

3、 Read(LPCTSTR lpValueName, Cstring* lpVal);
Read(LPCTSTR lpValueName, DWORD* pdwVal);
Read(LPCTSTR lpValueName, int* pnVal);
读指定键值内容。

4、Write(LPCTSTR lpSubKey, LPCTSTR lpVal);
Write(LPCTSTR lpSubKey, DWORD dwVal);
Write(LPCTSTR lpSubKey, int nVal);
将内容写入指定键。

5、 DeleteKey(HKEY hKey, LPCTSTR lpSubKey);
删除指定键。
DeleteKey(HKEY_LOCAL_MACHINE,"staff\0");
DeleteKey(m_hKey,"name\0");

6、 DeleteValue(LPCTSTR lpValueName);
从指定键删除指定的值。
DeleteKey("name");

7、SaveKey(LPCTSTR lpFileName);
将指定键、子键及值存入文件。
SaveKey("save.reg");

8、 RestoreKey(LPCTSTR lpFileName);
从指定文件读取注册表信息。
RestoreKey("save.reg");

9、 Close(); 释放指定键的句柄
  • 打赏
  • 举报
回复
typhoon20 2003-12-12
我来关注一下吧
我知道写的话可以用
AfxGetApp()->WriteProfileString(,,);
AfxGetApp()->WriteProfileInt(,,);
  • 打赏
  • 举报
回复
ddszhan 2003-12-12
HKEY hKey;
HKEY hSubKey1;
HKEY hSubKey2;

if(ERROR_SUCCESS!=RegOpenKeyEx(HKEY_LOCAL_MACHINE,NULL,0,KEY_WRITE,hKey))
{
exit(0); //error
}
if(ERROR_SUCCESS!=RegCreateKeyEx(hKey,"MyKey",0,NULL,REG_OPTION_VOLATILE,KEY_WRITE,lpSecurityAt,hSubKey1,REG_CREATED_NEW_KEY))
{
exit(0); //error
}
if(ERROR_SUCCESS!=RegCreateKeyEx(hSubKey1,"MySetUp",0,NULL,REG_OPTION_VOLATILE,KEY_WRITE,lpSecurityAt,hSubKey2,REG_CREATED_NEW_KEY))
{
exit(0); //error
}
if(ERROR_SUCCESS!=RegSetValue(hSubKey1,"MySetUp",REG_SZ,"My God I come",length("My God I come")))
{
exit(0); //error
}
大概是这样,详细的用法查查MSDN。
删除是要先打开吧。
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
加入

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
申请成为版主
帖子事件
创建了帖子
2003-12-12 07:18
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……