如何查找更改的注册表值
本文关键字:注册表 何查找 查找 | 更新日期: 2023-09-27 18:33:44
我正在尝试查找对注册表进行了哪些更改或启动了哪些进程。例如:如果我更改 windows-explorer 的视图以显示隐藏的文件和文件夹 - 我想查看哪个注册表项因此而更改。
有人建议使用进程监视器,但是 a( 注册表访问太多,以及 b( 我找不到对注册表的任何更改。(虽然我记得读到它是对控制它的注册表的更改(
我这样做是因为我希望我的程序做同样的事情。
C#中的答案会很好。
RegNotifyChangeKeyValue(( 是您需要调用的系统函数。我从未见过有人尝试从 C# 使用它,但要做到这一点应该不会比调用任何其他非托管代码更麻烦。基本上,你调用它,它在进行第一次更改后返回,你再次调用它并等待下一个 chande。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724892%28v=vs.85%29.aspx
对其用途有相当好的描述。
是的,哇,这可能会变得非常棘手,因为注册表可能很大。 在过去,我会导出注册表的一个分支,比如HKEY_LOCAL_MACHINE''SOFTWARE''InnaTech,然后运行一些我怀疑正在编辑该分支中的某些内容的程序,然后将其再次导出到其他文件。 如果分支不大,那么我可以盯着它寻找差异,否则我会使用普通的差异程序 ala WinDiff 来查找任何更改。
http://www.mydigitallife.info/trick-to-enable-show-hidden-files-and-folders-in-windows/
转到"开始"菜单并单击"运行"(Windows Vista 和 Windows 7 改用"开始搜索"(。键入 RegEdit 并按 Enter 以运行注册表编辑器。导航到以下注册表项:
HKEY_LOCAL_MACHINE''软件''Microsoft''视窗''当前版本''资源管理器''高级''文件夹''隐藏''显示所有
在右窗格中,验证"检查值"数据是否为REG_DWORD类型。如果不是(例如属于REG_SZ(,则删除检查值数据。如果已删除 CheckedValue,请创建一个新的 DWORD(32 位(值并将其命名为 CheckedValue。双击CheckedValue并将其值数据更改为1(病毒可能会将其更改为0或2(。在同一注册表项中,验证 Type 值数据是否为REG_SZ类型,并且具有值数据单选按钮。如果没有,请将其设置为无线电。病毒可能会将其更改为空白。将系统设置为显示或显示所有隐藏的文件、文件夹和驱动器,然后检查是否显示隐藏的文件和文件夹。