<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>RegRead</h1> <p>从注册表读取值.</p> <pre class="Syntax">Value := <span class="func">RegRead</span>(<span class="optional">KeyName, ValueName, Default</span>) </pre> <h2 id="Parameters">参数</h2> <dl> <dt>KeyName</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>注册表键的全名, 例如 <code>"HKLM\Software\SomeApplication"</code>.</p> <p>必须以 HKEY_LOCAL_MACHINE(或 HKLM), HKEY_USERS(或 HKU), HKEY_CURRENT_USER(或 HKCU), HKEY_CLASSES_ROOT(或 HKCR) 或 HKEY_CURRENT_CONFIG(或 HKCC) 开始.</p> <p>要访问<a href="#remote">远程注册表</a>, 请在前面加上计算机名和反斜杠, 例如 <code>"\\workstation01\HKLM"</code>.</p> <p>只有在<a href="LoopReg.htm">注册表循环</a>时, 才能省略 <em>KeyName</em>, 在这种情况下, 默认为当前循环项目的键. 如果项目是子键, 则默认使用该子键的全名. 如果项目是值, 则 <em>ValueName</em> 默认为该值的名称, 但是可以被重写.</p> </dd> <dt>ValueName</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>如果未设置或省略, 将删除键的默认值(除了上面提到的), 这是 RegEdit 中显示为 "(默认)". 否则, 请指定将检索值的名称. 如果没有默认值(即注册表中显示 "数值未设置"), 则抛出一个 <a href="Error.htm#OSError">OSError</a>.</p> </dd> <dt>Default</dt> <dd> <p>类型: Any</p> <p>如果未设置或省略, 则抛出 <a href="Error.htm#OSError">OSError</a>, 而不是返回默认值. 否则, 如果指定的键或值不存在, 请指定要返回的值.</p> </dd> </dl> <h2 id="Return_Value">返回值</h2> <p>类型: <a href="../Concepts.htm#strings">字符串</a>或<a href="../Concepts.htm#numbers">整数</a></p> <p>函数返回指定注册表键的值.</p> <h2 id="Error_Handling">错误处理</h2> <p>如果遇到问题(如不存在的键或值且省略 <em>Default</em>, 或权限错误), 则抛出 <a href="Error.htm#OSError">OSError</a>.</p> <p><a href="../Variables.htm#LastError">A_LastError</a> 被设置为操作系统 GetLastError() 函数返回的结果.</p> <h2 id="Remarks">备注</h2> <p>目前只支持以下值类型: REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD 和 REG_BINARY.</p> <p>在注册表中, REG_DWORD 值总是被转换为正十进制数. 如果数字是负数, 则使用 <code>OutputVar := OutputVar &lt;&lt; 32 &gt;&gt; 32</code> 或类似的方法将其转换为有符号的 32 位整数.</p> <p>读取 REG_BINARY 键时, 结果是一串十六进制字符. 例如, REG_BINARY 值 01,a9,ff,77 的读取结果为字符串 01A9FF77.</p> <p>读取 REG_MULTI_SZ 值的每个部分会以换行符结束(`n). 如果值为空, 则返回空字符串. 从返回值中逐个提取单独的部分, use a <a href="LoopParse.htm">parsing loop</a>.</p> <p>要检索和操作多个注册表键或值, 请考虑使用<a href="LoopReg.htm">注册表循环</a>.</p> <p>有关如何访问远程计算机注册表的详情, 请参阅<a href="LoopReg.htm#remote">注册表循环</a>中的备注.</p> <p>从 32 位脚本中读取或写入注册表的 64 位部分中的条目, 反之亦然, 请使用 <a href="SetRegView.htm">SetRegView</a>.</p> <h2 id="Related">相关</h2> <p><a href="RegCreateKey.htm">RegCreateKey</a>, <a href="RegDelete.htm">RegDelete</a>, <a href="RegDeleteKey.htm">RegDeleteKey</a>, <a href="RegWrite.htm">RegWrite</a>, <a href="LoopReg.htm">注册表循环</a>, <a href="SetRegView.htm">SetRegView</a>, <a href="IniRead.htm">IniRead</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 从注册表中读取一个值并将其存储在 <var>TestValue</var>.</p> <pre>TestValue := RegRead("HKEY_LOCAL_MACHINE\Software\SomeApplication", "TestValue")</pre> </div> <div class="ex" id="ExProgramFiles"> <p><a class="ex_number" href="#ExProgramFiles"></a> 检索并报告 "Program Files"(程序文件) 目录的路径. 有关另一种方法, 请参阅 <a href="EnvGet.htm#ExProgramFiles">EnvGet 示例 #2</a>.</p> <pre><em>; 此行确保在 64 位系统上运行非 64 位脚本时 ; 也能正常返回 64 位的 Program Files 目录路径.</em> <a href="SetRegView.htm">SetRegView</a> 64 ProgramFilesDir := RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir") MsgBox "Program files are in: " ProgramFilesDir</pre> </div> <div class="ex" id="ExType"> <p><a class="ex_number" href="#ExType"></a> 检索注册表值的类型(例如 REG_SZ 或 REG_DWORD).</p> <pre>MsgBox RegKeyType("HKCU", "Environment", "TEMP") return RegKeyType(RootKey, SubKey, ValueName) <em>; 此函数返回指定值的类型.</em> { Loop Reg, RootKey "\" SubKey if (A_LoopRegName = ValueName) return A_LoopRegType return "Error" }</pre> </div> <a href="https://dftg.net">dftg</a><!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "d5a9c4fcb9b6482fa53ce820d892f969"}'></script><!-- Cloudflare Pages Analytics --><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"9396005158a72986","version":"2025.4.0-1-g37f21b1","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"51750bb5dc4f40cc91a5ec55c63bbc01","b":1}' crossorigin="anonymous"></script> </body> </html>