导入注册表失败,求解

lzh250 2015-11-23 05:34:30
有个注册表文件 a.reg。
我想通过C++给它里面内容导入注册表。
但导入失败,求解,谢谢!

我的过程:
用CreateProcsss() 函数执行 regedit.exe /s a.reg ,执行后查看注册表,内容没有写入。
去掉/s 执行,中间regedit的提示框提示“a.reg中包含的项和值已成功添加到注册表中”,但查看注册表,内容没有写入。
后来调用system()函数,同样提示成功,但内容没有写入。
另外我用ShellExecuteEx()函数执行时,程序卡在这个函数上。函数不返回,程序卡死。
在dos命令下,执行 等效的regedit语句,提示导入成功,并且内容成功添加到注册表。

如何通过通过代码将a.reg导入注册表中?以上情况是什么原因照成的?谢谢!

我的系统WIN7,64位,Administrator身份登陆的计算机。
...全文
268 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzh250 2015-12-04
  • 打赏
  • 举报
回复
我没有再查原因,先结帖吧。 我之前是向HKEY_LOCAL_MACHINE中导入,导入失败。 后来尝试向HKEY_CURRENT_USER中导入,成功。 估计系统对HKEY_LOCAL_MACHINE的保护比较严格把?或者我在导入之前需要进行一些其它动作?
赵4老师 2015-11-24
  • 打赏
  • 举报
回复
Win64注册表分64位和32位的。
paschen 版主 2015-11-23
  • 打赏
  • 举报
回复
用WinExec试下? 再不行你直接用C++去写注册表吧,把你需要写的数据直接用C++写到注册表

64,684

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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