我如何在Lua中递归遍历Windows注册表?

我来自 Linux 领域,请大家谅解。

我想要递归地遍历 Windows 注册表。到目前为止,我只能够获取各个键的值。

> require 'luacom'
> sh = luacom.CreateObject "WScript.Shell"
> = sh:RegRead "HKCU\\Console\\ColorTable01"
8388608

然而,我找不到迭代注册表节点的方法...

点赞
用户1516484
用户1516484

如果你需要使用 Lua 处理 Windows 特定的事情,你应该首先使用 winapi 库;在这种情况下,你可以使用 open_reg_key()Regkey:get_keys() 枚举注册表键,示例如下:

require "winapi"
local key, err = winapi.open_reg_key [[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows]]
local t = key:get_keys()
for k,v in ipairs(t) do print(k,v) end
-- 1       CurrentVersion
-- 2       HTML Help
-- ...
2013-01-30 03:21:13