注册表读写的问题---关于注册表中的数字字符

wjzhuang 2001-08-23 11:04:30
[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{00025E15-0000-0000-C000-000000000046}]
@="DAO.DBEngine"
这样的情况如何写到注册表中去?
那些数字怎么办?
我使用TRegistry读写注册表.
...全文
183 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
luhongjun 2001-08-23
  • 打赏
  • 举报
回复
直接按字符串写不就可以么,看了好长时间没看明白。
wjzhuang 2001-08-23
  • 打赏
  • 举报
回复
问题解决一部分,
00025E15-0000-0000-C000-000000000046-------是目录
@-------是默认的,就是为空

但现在多了另一个问题
00025E15-0000-0000-C000-000000000046
这些看起来好像没有规律,但是我并不在意她的规律.
我想知道的是:我们再生成注册表(比如安装某个软件的时候),如果有生成类似的这样的字符的话,是不是有系统帮我们随机生成这些乱乱的字符得.
那么我现在生硬的写入注册表的时候就有可能把源来存在的一样的字符串给覆盖了.
请问:
如何调用让系统帮我生成这样的随机字符,我又如何获得生成的字符串?
或者:如何避免覆盖?
如果采用判断是否有这样的字符串来避免的话存在一下两个问题
1.判断存在,我如何生成新的字符串?不可能是简单的在那里加1减1吧?
2.我有很多这样的字符要写入,工作量比较大
wjzhuang 2001-08-23
  • 打赏
  • 举报
回复
我是用工具倒出来的
00025E15-0000-0000-C000-000000000046-------好像是目录
@-------是不是直默认的,写的话就是为""就可以了?

wjzhuang 2001-08-23
  • 打赏
  • 举报
回复
这个问题比较急,请各位兄弟帮忙看看,最好是给出代码.
wjzhuang 2001-08-23
  • 打赏
  • 举报
回复
faint~~~~~~~
如果没有Closekey()
就会以原来的节点作为父节点,
好了,问题解决,该给分了
wjzhuang 2001-08-23
  • 打赏
  • 举报
回复
再问个问题就结贴
比如:
pRegInfo->RootKey=HKEY_LOCAL_MACHINE;
pRegInfo->OpenKey("Software\\CLASSES\\CLSID\\{00025E15-0000-0000-C000-000000000046}",true);
pRegInfo->WriteString("","DAO.DBEngine");
pRegInfo->OpenKey("Software\\CLASSES\\CLSID\\{00025E15-0000-0000-C000-000000000046}\\ProgID",true);
pRegInfo->WriteString("","DAO.DBEngine");
后面写入的会成为前面的子节电,如何解决?

书生 2001-08-23
  • 打赏
  • 举报
回复
写注册表之前最好备份一下吧,直接写字符串。

书生 @_@ (嘿嘿,某人以后日子不好过了)
孩皮妞野 2001-08-23
  • 打赏
  • 举报
回复
那是GUID吧,不如这样,你写之前检查一下,如有同样的键名,给他备份一下。

我想是不会重复的。
wjzhuang 2001-08-23
  • 打赏
  • 举报
回复
不好意思,中午后来上不了qq,没能和我发信息的各位兄弟沟通.
现在也上不了,要等到下午6:00
wjzhuang 2001-08-23
  • 打赏
  • 举报
回复
我是直接按字符串来写的.
我现在的问题是对于
00025E15-0000-0000-C000-000000000046这样的目录
我估计是随机生成的,我现在直接写进去怕覆盖原有的内容
想找一个解决方法

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧