运行 一个带有vbs的exe文件

Run a file within exe with vbs

我正在尝试使用启动器 运行 exe 文件中的 hta。 启动器正在选择 system32 mshta 来打开 hta,因为 windows 即使在 64 位系统上也默认为 32 位 mshta。

我是这样做的:

CreateObject("WScript.Shell").Run "C:\Windows\System32\mshta.exe page.hta"

这个不行,我也试过了

CreateObject("WScript.Shell").Run "C:\Windows\System32\mshta.exe " & CreateObject("WScript.Shell").CurrentDirectory &"\page.hta"

如果我不打包就可以了。

我制作了一个 hta,一个包含 hta 命令的 txt,一个确保 hta 通过 system32 打开的启动器和一个用于脚本工作的 dll。我需要将所有这些都放在一个可点击的文件中,这样我的用户就不会搞砸了。

您的启动器是 32 位的,所以您在该子系统中。

64 位程序和 32 位程序都认为它们在 System32 中。

要强制 64 位从 32 位访问 System32,请使用文件夹名称 SysNative。

c:\windows\sysnative\mshta.exe

将运行从32位环境中获取64位HTA(在64位环境中会导致错误)。

32 位

c:\windows\system32 = C:\Windows\SysWOW64
c:\windows\sysnative = C:\windows\system32

64 位

c:\windows\system32 = C:\Windows\system32
c:\windows\sysnative = Error