我正在尝试在 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.
谁能告诉我哪里出错了,以及如何读取这个密钥?
如果您运行 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})
等等...
我也犯了同样的错误并降落在这里。就我而言,解释是注册表项值存储在
default
插槽中,而不是作为子项。因此,我使用仅带有两个参数的 winqueryreg
(省略子键)并且能够获取该值。
在你的情况下,这看起来像:
winqueryreg('HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\4D8041334C8956A4240A50360E36FD42')