1
我可以使用下面的代码成功查询已知密钥的值。我如何递归搜索子键(在下面的例子中,Uninstall文件夹中的所有子键)以获取特定数据的值?我的目标是查看是否安装了某个特定的程序,如果没有,安装它。递归搜索注册表
function
...(omitted)
var
Res : String;
begin
RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{92EA4162-10D1-418A-91E1-5A0453131A38}','DisplayName', Res);
if Res <> 'A Value' then
begin
// Successfully read the value
MsgBox('Success: ' + Res, mbInformation, MB_OK);
end
end;
Tlama给你一个答案,但应用程序通常使用固定ID,也许在主要版本升级时发生变化。应该不需要枚举它们来查找单个应用程序。 – Deanna
这是一个好点,这是我还有的问题。我注意到我在寻找的应用程序在多台机器和安装中具有相同的GUID,但是因为我没有完全理解*应用程序在注册表中的标记方式,所以我选择了一个面向未来的但计算成本较高的路由。 – jdhurst