Sysinternals Procmon日志中的路径'\ REGISTRY \ A \ ...'是什么意思?


22

我使用Sysinternals Procmon实用程序来监视某些程序对注册表的访问。大多数日志条目具有路径属性无法启动HKCU\…或者HKLM\…,对应于注册表配置单元HKEY_CURRENT_USER,并HKEY_LOCAL_MACHINE可以看到使用注册表编辑器。但是有些条目的Path从\REGISTRY\A\…以下开始:

在此处输入图片说明

您能否解释一下注册表的哪一部分?我可以使用Regedit或其他实用程序看到它吗?我可以通过编程方式访问它吗?

我正在运行Windows 8.1 Enterprise x64


更新:我已经联系了Procmon开发人员,他们为我指出了涉及该问题的以下MSDN资源:



您是否尝试右键单击一个并选择“ 跳转到”
Synetech 2013年

是的,但是它跳转到一个不相关的密钥。
弗拉基米尔·雷谢尼科夫2013年

您确定不相关吗?您是否尝试过使用跳至相似的钥匙来查看它是跳至相似的钥匙还是完全不同的钥匙?例如,如果registry\a\foobar\1跳到hkcu\software\blah\aregistry\a\foobar\2跳转到hklm\software\microsoft\internet explorer,那么他们就似乎是风马牛不相及,但如果第二个跳转到hkcu\software\blah\b,那么他们似乎是相关的某种方式 ; 有某种映射。
Synetech

嗯,我想我知道您能确切找到它的确切含义,但是必须等到明天早上(我的时间)才能进行测试…
Synetech 2013年

Answers:



5

Sysinternals Procmon日志中的路径'\ REGISTRY \ A \ ...'是什么意思?您能否解释一下注册表的哪一部分?我可以使用Regedit或其他实用程序看到它吗?我可以通过编程方式访问它吗?

我无法重现您在系统上看到的内容,但是我可以告诉您如何找到您系统上的内容。您可以在以下注册表项中查看以任何名称(包括系统范围配置单元,当前登录用户的用户配置单元以及手动或通过软件加载的任何配置单元)当前安装的所有注册表配置单元的列表。它将显示内部注册表路径和配置单元文件的路径(图1)。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

您可以使用此命令查看的特定实例托管的服务svchost.exe。我使用了截屏时使用的pid(1240);将其替换为当前的PID。

tasklist /svc /fi "pid eq 1240"

图1:注册表编辑器的屏幕快照,突出显示了蜂巢列表键,显示了已安装的注册表配置单元

突出显示配置单元键的注册表编辑器的屏幕快照


2
\REGISTRY\A没有列出在hivelist密钥中。通常,@ abs2run 的答案是正确的答案。
Eryk Sun

1
尽管有关的信息hivelist有趣且有用,即使这并不能解释\REGISTRY\A
宾基

5

\REGISTRY\A是供Windows Store应用程序(又称为Metro风格的应用程序)使用的隐藏注册表配置单元。


2
几个问题:• 该问题涉及注册表配置单元,但在Windows 7上,因此看起来好像不是已连接Windows应用程序。•即使您是正确的,Windows应用程序也将使用它的方式和方式如何;也就是说,它提供了常规注册管理机构没有的哪些规定?•您链接到的Wikipedia页面根本没有提及注册表,因此我们无法确认您所说的内容或了解它。
Synetech 2013年

在win10中,如果执行procmon引导日志,并过滤“路径包含\ registry \ a”和“操作为regloadkey”,则详细信息中将看到“配置单元路径:system32 \ config \ BBI”和许多“配置单元路径” :在启动过程中为Windows应用程序处理的“ activationstore.dat”文件。有时,dcomlaunch服务在BBI配置单元中需要花费很长时间,具体取决于用户数量。
js2010年

4

我需要在评论中回答自己的问题。

要编辑私有配置单元,应先加载它。

对于Visual Studio,可以通过以下方式进行:

https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/f636ee47-1eb7-45ed-ae2a-674cbabb8b2c/clear-mru-list-in-visual-studio-2017?forum=visualstudiogeneral

VS 2017增加了隔离性和弹性,它现在使用私有注册表配置单元。VS内部使用重定向,而对于VS扩展(dll),这是透明的;对于外部进程(exe),这将导致它们无法工作。

若要手动更改专用注册表配置单元中的值,可以使用regedit.exe加载专用配置单元。您需要选择HKEY_USERS节点,然后单击File> Load Hive…菜单。您选择privateregistry.bin文件,为配置单元命名(我输入“ VS2017PrivateRegistry”),现在您可以像往常一样看到15.0_Config键(注意:完成后使用File> Unload Hive):

屏幕截图

要以编程方式更改私有注册表配置单元中的值,您需要为VS构建扩展,或者如果您想使用外部exe,则需要使用RegLoadAppKey函数,或者避免直接使用注册表并使用外部设置管理器。请参阅Visual Studio 2017可扩展性中的重大更改中的“更改:减少注册表影响”部分。

启动使用regedit的应用程序之前,请不要忘记卸载它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.