遇到一个诡异的regedit.exe程序问题

来源:互联网 发布:nginx配置ssl模块 编辑:程序博客网 时间:2024/04/30 12:50

  最近在调试一个注册表操作相关的程序。调试注册表写入代码时发现了一件奇怪的事情。用RegSetValue API执行注册表写入操作,该函数返回执行成功,但是通过regedit.exe查看注册表时却发现内容没有被修改(重新启动regedit,按F5刷新均告无效)。一开始我反复调试,以为肯定是写入失败了,但API确实返回了执行成功。于是我试着通过RegQueryValueEx执行读取操作,居然能读到我修改到的值。

  最后不得不怀疑是regedit.exe程序的问题。于是下载了一个第三方的注册表工具RegWorksshop.exe,经过查看,果然代码是成功执行了写入操作。但regedit.exe的显示却是错误的。

  另外这个问题只在我一台机器上才出现,到其它机器又没这个问题了,很诡异。但是无论如何,吸取一个教训。查看调试结果不能光依赖系统自带的工具啊。它们也不是最可靠的。