在 Matlab 中读取注册表项

问题描述 投票:0回答:2

我正在尝试在 matlab 中读取以下注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8041334C8956A4240A50360E36FD42

我正在使用该功能

winqueryreg('HKEY_LOCAL_MACHINE','SOFTWARE','\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8041334C8956A4240A50360E36FD42')

但我收到此错误

Error using winqueryreg
Cannot query value of type REG_NONE.

谁能告诉我哪里出错了,以及如何读取这个密钥?

matlab registry registrykey
2个回答
3
投票

如果您运行 regedit,您将看到您现在处于“地图级别”,您需要添加一个密钥标识符。

请尝试:

yourVal = winqueryreg('HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8041334C8956A4240A50360E36FD42', YOUR_EXPLICIT_REG);

或者如果您事先不知道此密钥标识符:

yourKeys = winqueryreg('name', 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8041334C8956A4240A50360E36FD42')

yourVal = winqueryreg('HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8041334C8956A4240A50360E36FD42', yourKeys{1})

等等...


0
投票

我也犯了同样的错误并降落在这里。就我而言,解释是注册表项值存储在

default
插槽中,而不是作为子项。因此,我使用仅带有两个参数的
winqueryreg
(省略子键)并且能够获取该值。

在你的情况下,这看起来像:

winqueryreg('HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8041334C8956A4240A50360E36FD42')
© www.soinside.com 2019 - 2024. All rights reserved.