首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在InnoSetup的代码部分读取HKLM和HKLM64中的注册表值

InnoSetup是一个用于创建Windows安装程序的开源工具。在InnoSetup的代码部分读取HKLM和HKLM64中的注册表值,可以通过使用Registry函数来实现。

Registry函数是InnoSetup提供的一个内置函数,用于读取和写入Windows注册表。它可以访问多个注册表根键,包括HKLM(HKEY_LOCAL_MACHINE)和HKLM64(HKEY_LOCAL_MACHINE\Software\Wow6432Node)。

要读取HKLM中的注册表值,可以使用以下代码示例:

代码语言:txt
复制
var
  RegValue: string;
begin
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\YourKey', 'YourValue', RegValue) then
  begin
    // 注册表值存在,可以进行相应的处理
    // ...
  end
  else
  begin
    // 注册表值不存在,可以进行相应的处理
    // ...
  end;
end;

上述代码中,RegQueryStringValue函数用于读取注册表值。第一个参数指定了注册表根键,这里使用HKEY_LOCAL_MACHINE表示HKLM。第二个参数指定了注册表路径,可以根据实际情况进行修改。第三个参数指定了要读取的注册表值的名称,这里使用'YourValue'作为示例。如果注册表值存在,函数将返回True,并将注册表值的数据存储在RegValue变量中。

类似地,要读取HKLM64中的注册表值,可以使用以下代码示例:

代码语言:txt
复制
var
  RegValue: string;
begin
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Wow6432Node\YourKey', 'YourValue', RegValue) then
  begin
    // 注册表值存在,可以进行相应的处理
    // ...
  end
  else
  begin
    // 注册表值不存在,可以进行相应的处理
    // ...
  end;
end;

上述代码中,注册表路径中添加了'Wow6432Node',以访问HKLM64中的注册表值。

在实际应用中,可以根据具体需求使用Registry函数读取注册表值,并根据读取到的值进行相应的处理,例如根据注册表值判断某个软件是否已安装,或者获取某个软件的安装路径等。

腾讯云提供了一系列云计算相关的产品和服务,包括云服务器、云数据库、云存储等。具体推荐的产品和产品介绍链接地址可以根据实际需求和使用场景进行选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

inno setup读取注册表遇到一个坑

二、分析过程       本来拿到需求一想还挺简单,本来就详细看过Inno setup文档,读取注册表只需要调用RegQueryStringValue()即可读取注册表中指定项目。...注册表打开着对着写,路径也反复看了好几遍是错不了。但是为什么就读取不到具体键值呢?网上资料不多,大多使用例子也是如上并无二般。那是为什么呢?那么其他键值能否读到呢?...PSIParser.dll\Com Module', 'ComFullPath', sInstallPath) end Result := sInstallPath; end;      编译运行正常获得注册表键值...Windows 32bit64bit版本注册表稍微有不同。我们知道64bit系统上照样可以跑32bit程序,因此注册表上也有区分,特意为32bit程序作了兼容处理。...通过HKLM32HKLM64明确指出读取具体位置,就可以避免上述这种问题了。事实上,inno setup说明文档还有另外一种方法可以尝试,也可以避免64bit系统产生问题。

2.6K60

.NETC# 64 位进程读取 32 位进程重定向后注册表

那么怎样编译程序是 32-bit 程序呢? 对于 64 位程序,读取时候就不会有 Wow6432Node 路径部分。由于我没有在那个路径放注册表项,所以会得到 null。...如何在 64 位程序读取 32 位注册表路径 前面我们例子代码是这样: 1 var value = RegistryHive.LocalMachine.Read(@"SOFTWARE\Walterlv..."); 可以看到,相同代码 32 位 64 位进程下得到结果是不同: 32 位进程 32 位系统上,64 位进程 64 位系统上,读取路径会是传入路径; 32 位进程 64 位系统上...那么如何在 64 位进程读取 32 位注册表路径呢? 方法是在打开注册表时候,传入 RegistryView.Registry32。...1 RegistryKey.OpenBaseKey(root, RegistryView.Registry32); Walterlv.Win32 可以 GitHub 仓库查看完整实现。

25930

内网渗透之各种密码凭证窃取 - 渗透红队笔记

----Micropoor 密码窃取 注册表读取密码 ---- 注册表读取密码主要获取是两个文件: reg save HKLM\SYSTEM Sys.hiv reg save HKLM\SAM Sam.hiv...导出注册表之后,我们可以通过mimikatz读取密码hash: mimikatz读取密码 mimikatz.exe "lsadump::sam /sam:Sam.hiv /system:Sys.hiv...其中:NTLM加密hash就是管理员登陆加密密码! ---- lsass内存读取密码 lsass.exe是一个系统进程,用于微软Windows系统安全机制。它用于本地安全登陆策略zhi。...---- LaZagne读取各类密码(浏览器等) LaZagne是用于开源应用程序获取大量密码存储本地计算机上。每个软件都使用不同技术(明文,API,自定义算法,数据库等)存储其密码。...windows密码是经过hash后存储,本地存在hklm\sam,hklm\system注册表

2.6K30

【批处理学习笔记】第十四课:常用DOS命令(4)

Home Edition没有) reg 注册表控制台工具 at AT命令是Windows XP内置命令,它也可以媲美Windows“计划任务”,而且计划安排、任务管理、工作事务处理方面...AT命令可在指定时间日期、指定计算机上运行命令程序。   我们可以“开始→运行”输入AT命令,下面就来看看AT命令一些实例分析。  ...reg     Reg概述:     对注册表子项信息注册表执行添加、更改、导入、导出以及其他操作。    ...HKLM\Software\MyCo\MyApp AppBkUp.Reg     Reg Import     将包含已导出注册表子项、项文件内容复制到本地计算机注册表。    ...,请键入:     Reg RESTORE HKLM\Software\Microsoft\ResKit NTRKBkUp.hiv     Reg Save     将指定子项、项注册表副本保存到指定文件

1.5K30

Windows之注册表操作命令

[TOC] reg 命令 描述:reg命令是WindowsXP提供,它可以添加、更改显示注册表注册表子项信息,以及导入导出注册表项....仅列出不同点 /s :Separator 比较所有子项项 reg compare操作返回 0 比较成功且结果相同 1 比较失败 2 比较成功并找到不同点 基础案例: #常用远程主机注册表进行比较...、项文件复制到本地计算机注册表; 语法: reg import FileName 参数: FileName 指定将复制到本地计算机注册表文件名称路径,必须预先使用reg export...、项注册表副本保存到指定文件 语法: reg save KeyName FileName 参数: FileName:指定所创建文件名称路径导入名称xxx.hiv 。...FileName   参数: 指定将写回到注册表文件名称路径。

1.3K10

Windows之注册表操作命令

[TOC] reg 命令 描述:reg命令是WindowsXP提供,它可以添加、更改显示注册表注册表子项信息,以及导入导出注册表项....仅列出不同点 /s :Separator 比较所有子项项 reg compare操作返回 0 比较成功且结果相同 1 比较失败 2 比较成功并找到不同点 基础案例: #常用远程主机注册表进行比较...WeiyiGeek. reg import 将包含导出注册表子项、项文件复制到本地计算机注册表; 语法: reg import FileName 参数: FileName 指定将复制到本地计算机注册表文件名称路径...REG LOAD HKLM\TempHive TempHive.hiv reg unload 使用 reg unload 操作删除已加载部分注册表 语法: reg unload KeyName 基础示例...FileName   参数: 指定将写回到注册表文件名称路径。

2K31

“VS2012开发人员命令提示”涉及环境变量

”,这个控制台用就是Windows本身控制台cmd.exe,只是启动后执行了两个批处理脚本(扩展名BAT),在这两个脚本注册表读取了若干个环境变量,打造了VS2012自己开发人员命令提示。...本文描述每个环境变量,都有以下两个属性:变量值是该环境变量电脑中显示(这与我计算机VS安装路径有关),变量来源说明了该环境变量是怎么来(即上面两个BAT文件是怎么获取)。...“InstallationFolder”,最先搜索到非空字符串即为该环境变量 HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0 HKCU\SOFTWARE...处理命令行之前,CL 工具处理 CL 环境变量定义选项参数。...处理命令行之前,LINK 工具处理 LINK 环境变量定义选项参数。 LIB(如果已定义)。

30930

Python numpy np.clip() 将数组元素限制指定最小最大之间

Python NumPy 库来实现一个简单功能:将数组元素限制指定最小最大之间。...具体来说,它首先创建了一个包含 0 到 9(包括 0 9)整数数组,然后使用 np.clip 函数将这个数组每个元素限制 1 到 8 之间。...b = np.clip(a, 1, 8) 这是本段代码中最关键部分。np.clip 函数接受三个参数:要处理数组(在这里是 a),最小(在这里是 1),最大(在这里是 8)。...对于输入数组每个元素,如果它小于最小,则会被设置为最小;如果它大于最大,则会被设置为最大;否则,它保持不变。...性能考虑:对于非常大数组,尤其是性能敏感场景下使用时,应当注意到任何操作都可能引入显著延迟。因此,可能情况下预先优化数据结构算法逻辑。

11200

内网渗透—获取Windows内Hash密码方法总结 | 美创安全实验室

Windows,Hash结构通常如下: Username:RID:LM-Hash:NT-Hash windows2000以后系统,第一部分 LM-hash 都是空,因为LM-hash可以很容易破解...渗透测试,通常可从Windows系统SAM文件域控数据库NTDS.dit文件(域环境,用户信息存储NTDS.dit获得所有用户Hash。...需要注意是当目标为win10或2012R2以上时,默认在内存禁止保存明文密码,但是我们可以通过修改注册表方式抓取明文,输入以下命令即可: Reg add HKLM\SYSTEM\CurrentContro...::logonpasswords full //获取密码 3、通过SAMSystem文件抓取密码Hash 首先利用注册表命令将目标机sam或者system文件导出 reg save hklm\sam...sam.hive reg save hklm\system system.hive 然后将目标机上sam.hivesystem.hive下载到本地,利用Mimikatz读取samsystem文件获取

2.5K20

【C 语言】指针间接赋值 ( 直接修改 间接修改 指针变量 | 函数 间接修改 指针变量 | 函数 间接修改 外部变量 原理 )

文章目录 一、直接修改 间接修改 指针变量 二、函数 间接修改 指针变量 三、函数 间接修改 外部变量 原理 一、直接修改 间接修改 指针变量 ---- 直接修改 指针变量...p2 = &p; // 间接修改指针 *p2 = 12345678; 直接修改 间接修改 指针变量 代码示例 : #include #include...间接修改 指针变量 ---- 函数 间接修改 指针变量 , 将 指向一级指针 二级指针 变量 , 传递到 函数形参 , 函数 , 使用 * 符号 , 修改 二级指针...指针才可以 ; 代码示例 : #include #include /* * 函数简介修改指针 */ void modify_pointer(int *...三、函数 间接修改 外部变量 原理 ---- 如果要 修改 一级指针 , 必须 传入 指向 一级指针 二级指针 变量 才可以 , 传入一级指针变量 , 不能修改一级指针变量值 ; 这是因为

20.9K10
领券