HTA 无法运行 ie4uinit.exe

HTA 无法运行 ie4uinit.exe

我正在尝试使用以下命令从 HTA 刷新桌面图标:

var shell = new ActiveXObject("WScript.Shell");
shell.run("C:\\Windows\\System32\\ie4uinit.exe -show");

我将其运行为行政人员我确信它C:\Windows\System32\ie4uinit.exe存在。

如果我使用来自 vbscript 的完全相同的命令,.vbs它会成功运行该文件。

是某种限制吗?为什么 HTA 无法运行C:\Windows\System32\ie4uinit.exe

错误信息:

在此处输入图片描述

我怎样才能让它工作?

答案1

您的注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htafile\Shell\Open\Command 包含以下值:

C:\Windows\SysWOW64\mshta.exe "%1" {1A460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1A460BD7-F1C3-4B2E-88BF-4E770A288AF5} %*

这是 32 位 HTA 处理程序,这意味着您正在 32 位模式下运行。

这进一步意味着您正在使用 32 位版本的 VBScript,因此 Windows 文件重定向实际上导致它在不存在的C:\Windows\SysWOW64地方查找 。ie4uinit.exe

避免维护 VBScript 脚本的两个不同版本的解决方案可在此处找到 ServerFault 答案

或者,您可以尝试使用 64 位 HTA 处理程序(位于 )启动您的应用程序C:\Windows\System32\mshta.exe

您应该意识到,微软不再积极支持 HTA 应用程序,而是更愿意专注于 Windows 窗体和类似技术,因此 HTA 很可能会在未来的某个时候被弃用。

相关内容