gpt4 book ai didi

asp-classic - ASP 经典 WshShell.RegRead 错误 '80070002'

转载 作者:行者123 更新时间:2023-12-04 04:44:12 25 4
gpt4 key购买 nike

我正在阅读 ASP Classic 中的一些注册表以获取我需要的一些值并将它们保存为应用程序级变量。在 global.asa 文件中,我有代码:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("test") = "testing..."
Dim WSHShell, regLink
Set WSHShell = CreateObject("WScript.Shell")
regLink = "HKEY_LOCAL_MACHINE\SOFTWARE\Odyssey\"

Application("test2") = WSHShell.RegRead(regLink & "value")
End Sub
</SCRIPT>

在我的 test.asp 文件中,我只是输出“test”和“test2”变量。但是,在运行 test.asp 时,我收到错误消息:
WshShell.RegRead 错误“80070002”
注册表项中的根无效

我已经检查并仔细检查了 key 确实存在,并且这段代码在我们的旧服务器上工作,所以我认为这是 IIS 中的配置问题。如果我能找到它,我会被诅咒的。 ASP Classic 已安装并启用,我在 Windows Server 2008 R2 x64 上使用 IIS 7.5。希望有人知道问题是什么。

编辑:我下载了 Process Monitor查看注册表访问。经过一番搜索。我发现它实际上是在“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Odyssey\value”中寻找 key 。我认为这与服务器为 64 倍有关。我不想将 key 移动到那个位置,因为它们可能再也找不到了,尤其是当代码指向不同的目录时。

有没有办法停止这种重定向或更改结构,以便它可以工作?

预先感谢您的帮助。

道格

最佳答案

正如对我的问题的编辑中提到的,问题似乎是 URL 被重定向,因为它是一个 x64 系统。我最终将我试图访问的注册表移到了 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Odyssey .然后我稍微修改了代码以专门在该位置查找 key 。

regLink = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Odyssey\"

由于我自己指定了 Wow6432Node,系统不会再添加一个。我宁愿将 key 保留在它们以前的位置,但至少代码指向它们所在的位置。和以前一样,查看代码的人永远不会猜到会查看 Wow6432Node 目录。重要的部分是 key 不会丢失到 Windows 注册表系统的深处。

关于asp-classic - ASP 经典 WshShell.RegRead 错误 '80070002',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com