遍历注册表子文件夹

2024-01-16

我想获取注册表路径的所有值,包括其子文件夹的值。现在我通过以下方式读取单个文件夹的值:

const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."

Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ 
strComputer & "\root\default:StdRegProv")

strKeyPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

For Each subkey In arrSubKeys
    msgbox subkey ' Just for debugging
Next

这非常有用,但此外我需要获取该文件夹的子文件夹的列表。

我想要得到一个结果(只有内容很重要,格式并不重要,也不需要将其写入文件),就像 this will 命令给我的结果一样:

regedit /e c:\testfile.reg   
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

有没有办法在 vbs 中执行此操作,或者我是否需要通过 Wscript.Shell 调用使用 Windows 中的 regedit 命令。


您需要递归到子项。尝试这个:

Const HKEY_LOCAL_MACHINE = &H80000002
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"

Sub EnumerateKeys(hive, key)
  WScript.Echo key
  reg.EnumKey hive, key, arrSubKeys
  If Not IsNull(arrSubKeys) Then
    For Each subkey In arrSubKeys
      EnumerateKeys hive, key & "\" & subkey
    Next
  End If
End Sub

Set reg = GetObject("winmgmts://./root/default:StdRegProv")

EnumerateKeys HKEY_LOCAL_MACHINE, strKeyPath
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

遍历注册表子文件夹 的相关文章

  • 在wix中,使用vbscript,如何写入日志文件?

    我正在自定义操作中尝试以下操作 Session Log GetOfficeBitness Session Property OfficeBitness 我收到错误 错误 1720 此 Windows Installer 程序包有问题 A 无
  • 如何通过WMI确定操作系统平台?

    我试图弄清楚 WMI 中是否有一个位置可以返回可在 所有 版本的 Windows 上工作的操作系统架构 即 32 位或 64 位 当我发现以下内容时 我以为我已经弄清楚了我的Win2k8系统 Win32 OperatingSystem OS
  • CMake子目录依赖

    我对 CMake 很陌生 事实上 我正在通过 Kdevelop4 widh C 进行尝试 我习惯为我创建的每个命名空间创建子目录 即使所有源代码都必须编译并链接到单个可执行文件中 好吧 当我在 kdevelop 下创建一个目录时 它会使用
  • 是否有 Windows API 可以修改扩展名的文件类型关联?

    我正在寻找一种方法来以编程方式调整 Windows 系统上文件关联的细节 例如 针对特定文件类型的 打开 操作的 执行此操作的应用程序用户 设置 显然 我可以通过直接修改注册表来做到这一点 但如果有一个 API 我更愿意使用它 因为它可能更
  • Regedit 显示未使用 GetSubKeyNames() 列出的键

    我已经检查了其他一些回复 但据我所知 这是一个与我得到的点击不同的问题 当我打开 RegEdit 时 我可以看到一组键 但是当我使用以下命令从程序中列出它们时 Registry LocalMachine OpenSubKey SOFTWAR
  • 为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2?

    我正在拨打以下电话 result RegOpenKeyEx key s 0 KEY READ key C Visual Studio 5 Vista 64 位 它失败并显示错误代码 2 找不到文件 即使 regedit 表明该密钥存在 此代
  • 在文件夹的上下文菜单中运行批处理文件

    当我右键单击任何文件夹时 我想运行此批处理文件 setenv cmd echo off SET CPLUS INCLUDE PATH C mingw32 include C mingw32 lib gcc mingw32 4 9 2 inc
  • 在 C# 中读取注册表项

    我正在读取注册表项的值 Microsoft Win32 RegistryKey key key someLongPathHere 并将值显示到标签 string a string key GetValue a default value l
  • adArray 的 VBScript / ADODB 语法问题?

    我希望有人能给我一些关于我的 vb 脚本的新视角 该脚本的主要目的是使用一些参数执行存储过程 我得到的错误是 预计声明结束 我没有做过太多的 VB 脚本编写 但从目前为止我发现的情况来看 这个错误是由于某种语法问题造成的 我已经查看这个脚本
  • 由 VBScript 运行的 xPath 中的未知方法

    错误消息是 msxml3 dll 未知方法 Record CelloXml Integration Case ServiceEvent gt last 我的代码如下所示 错误出在案例上NEW Case OLD可以很好地配合 0 在那里 On
  • 构建启用 COM 互操作的项目,而无需在构建过程中注册它

    在 Visual Studio 2010 中 我尝试构建一个启用 COM 互操作的 C 项目 但在构建过程中不注册它 但我DO需要程序集的类型库 tlb 文件 因此我可以从解决方案中的另一个 C 项目导入它 我还没有找到一种方法来做到这一点
  • 使用 VBScript 检查排序顺序

    假设我有一个数组 arr1 其中包含日期值 如下所示 Arr1 50 9 3 2012 4 57 02 AM 22 3 2012 5 57 02 AM 9 5 2012 8 57 02 AM 9 3 2011 4 57 02 上午 Edit
  • 如何将 VBScript 转换为可执行 (EXE) 文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我四处寻找转换 VBScript 的信息 vbs 到可执行文件 并意识到大多数可用的工具实际上是将脚本包装在可执行文件中 尝试了一些工
  • 使用 javascript 获取选择标签的名称

    我在任何地方都没有找到这个问题 所以我将其发布在这里 我有一堆选择标签 部分使用 VBScript 命名 我希望能够获取从 javascript 中的 onchange 事件调用的选择标签的名称 这是代码
  • 将注册表中的版本号转换为System.Version?

    我正在从注册表中检索版本号 如下所示 rKey GetValue Version 现在我想将其转换为System Version object 我该怎么做呢 假设这是一个字符串 string versionText string rKey
  • 如何使用 java/vb 脚本调用自定义 ActiveX dll 中的方法

    我使用 VB6 创建了一个 ActiveX dll 并使用打包和部署向导将其打包 生成了一个 cab 文件和一个演示 HTML 页面 此 ActiveX dll 包含一个 simgle 方法 该方法返回字符串且不接受任何参数 我遇到的麻烦是
  • 有关于 VBScript 正则表达式对象 (RegExp) 的好文档吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们都知道每个正则表达式实现都有其自身的特点 我需要在使用 COM 自动化的应用程序中使用 Micros
  • VBscript 以提升的权限运行 bat 文件

    这是我的bat文件 REG DELETE HKLM Software Microsoft Windows CurrentVersion WindowsUpdate v SusClientId f REG DELETE HKLM Softwa
  • 使用 VBScript 重命名 IIS 中的虚拟目录?

    如何使用 VBScript 重命名 IIS 6 0 7 0 中的虚拟目录 或 Web 应用程序 如果您只想更改 IIS 7 中的站点名称 编辑applicationHost config文件 该文件可以在以下位置找到c Windows Sy
  • 我对一些小概念感到困惑

    我对 VBscript 非常陌生 正在努力学习所有概念 在我的实践过程中 我一直有一个疑问 dim a b c set a CreateObject scripting filesystemobject initiate the file

随机推荐

  • Google Api 客户端 NoClassDefFoundError ApacheHttpTransport

    我在编译 Android 应用程序时遇到问题 我的应用程序使用 google api 客户端库 应用程序在构建时保持强制关闭 我已经尝试调试了3个小时 我仍然无法弄清楚 有人有办法解决这个问题吗 错误日志 java lang NoClass
  • Rails 一天 12 小时 AM/PM 范围

    这是一个非常简单的问题 以前可能已经被问过并回答过 但我找不到任何东西 不管怎样 我需要一个 12 小时的范围 数组 比如中午 12 点 上午 11 点 中午 12 点 晚上 11 点 你可能已经明白了它的要点 现在我正在尝试执行一种极其复
  • php递增时间戳错误?

    我有一个分页功能 可以翻阅时间表并每周提前日期并显示与新日期相关的详细信息 在测试一些新数据时 我遇到了分页问题 因为它不会在 2012 年 10 月 22 日通过 调试代码我最终找到了问题的根源 即将表示 22 10 2012 的日期戳增
  • 以编程方式更改 FormsAuthenticationTicket 中的用户数据

    我正在使用FormsAuthenticationTicket并放置数据并将数据传递到所有页面 如果我们不更改任何数据 它就会起作用 所以 现在如果我想更改数据并将其传递给 cookie 并加密 那么如何以编程方式更改数据 请给我更改数据的解
  • 我什么时候应该断开 GoogleApiClient (Android)

    在我的 Android 应用程序中 我有 3 个登录选项 Google Facebook 和我自己的登录选项 我已经实现了所有 3 个 我已按照上述步骤实现了 Google 登录here https developers google co
  • VueJS - 事件“click”的无效处理程序:未定义

    我有一些元素列表 单击这些元素后我想对其进行编辑 我在其他组件中有类似的解决方案 它工作得很好 但在新组件中却没有 也找不到原因 当组件渲染时我得到 Invalid handler for event click got undefined
  • Angular:服务工作者配置

    我正在尝试将 PWA 功能添加到在 Angular 8 上运行的网站 我遵循了很多官方和非官方的教程 但我不明白我做错了什么 ngsw config json 是这样的 schema node modules angular service
  • 从 ASP.NET Core 的容器迁移到 Autofac

    我正在使用 ASP NET Core 及其内置容器 我想将我的注册迁移到 Autofac The Autifac 文档 http autofac readthedocs io en latest integration aspnetcore
  • flutter cloud-firestore MissingPluginException异常

    无法在 flutter android 和 IOS 中使用 cloud firestore 我收到此异常 E flutter 10137 错误 flutter lib ui ui dart state cc 157 未处理的异常 Missi
  • Python 中排列的递归实现

    抱歉 已经有很多关于这个问题的帖子了 然而 我很难看出我自己的实现中出了什么问题 所以我试图编写一个函数 它接受一个字符串并以列表的形式返回所有可能的排列 理论上它应该是这样的 allPermutations abc z a allPerm
  • Laravel 403 签名无效仅在 Nginx Web 服务器上

    Problem 我正在通过从 laravels 复制并粘贴的 laravels temporarySignedRoute 函数创建一个签名 URL签署路线 https laravel com docs 5 8 urls文档中 在我的网络服务
  • RSelenium 找不到具有给定参数的元素

    我正在使用 RSelenium 构建一个包含经理信息的数据框架 我在选择下拉列表中的元素时遇到问题 我的代码如下 gt require RSelenium gt remDr lt remoteDriver browserName chrom
  • 阻止单元测试但允许在 Maven 中进行集成测试

    我有一个 Maven 构建 其中使用 SureFire 插件来运行一些单元测试 并使用 FailSafe 插件来运行一些集成测试 我想要一种只运行 FailSafe 插件测试的方法 对于我来说 在 pom 中添加不同的配置文件或任何内容并不
  • 有没有办法在 kubernetes 部署(或有状态集)中为每个 pod 创建持久卷?

    我当前正在创建一个 kubernetes 部署 在此部署中 我将副本值设置为 X 并且我想创建在相应 pod 重新启动时不为空的 X 卷 我没有使用任何云提供商基础设施 因此请避免使用云服务的命令 我一直在 kubernetes 文档中搜索
  • 具有大量页面的类别(巨大的偏移量)(stackoverflow 是如何工作的?)

    我认为只要知道 stackoverflow 的工作原理就可以解决我的问题 例如 此页面在几毫秒内加载 https stackoverflow com questions page 61440 sort newest 我能想到的对该页面的唯一
  • 密码字段在 Django 管理站点中可见且未加密

    因此 要使用电子邮件作为用户名 我覆盖了内置User像这样的模型 灵感来自Django 源代码 https github com django django tree main django contrib auth 模型 py class
  • 如何放大 Material UI 图标按钮中的 SVG 图标?

    有没有人使用过构建网页react js https facebook github io react 和材质用户界面 https www material ui com 图书馆 我应该如何调整图标大小 它是一个 SVG 图标 我刚刚构建了一
  • VBscript,在FTP中创建目录

    我想在FTP中创建一个目录 目录的名称必须是我的计算机名称 这是我的代码 Dim FoldertoCreate filesys newfolder Ob Set Ob Wscript CreateObject Wscript Network
  • 属性“spring.cloud.config.server.git.privateKey”不是有效的私钥

    有点卡在上面了 虽然我看到有人就同一主题提出问题 并且已经尝试过 但仍然没有办法 堆栈我使用 gt mac mojave Intellij jdk 8 在mac本身上使用puttygen生成密钥 看起来像这样 这仅适用于我本地的spring
  • 遍历注册表子文件夹

    我想获取注册表路径的所有值 包括其子文件夹的值 现在我通过以下方式读取单个文件夹的值 const HKEY LOCAL MACHINE H80000002 strComputer Set oReg GetObject winmgmts im