2

我来自 linux 领域,所以请多多包涵。

我想递归地浏览 Windows 注册表。到目前为止,我所做的一切都得到了各个键的值

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

但看不到迭代注册表节点的方法......

4

1 回答 1

5

如果你需要用 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-30T03:21:13.543 回答