使用vbs在exe中运行文件

时间:2015-03-11 08:42:32

标签: dynamic vbscript exe

我正在尝试使用启动器在exe文件中运行hta。 启动器正在选择system32 mshta来打开hta,因为即使在64位系统上,Windows默认为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,一个启动器,用于确保通过system32打开hta,以及脚本工作的dll。我需要将所有这些都放在一个可点击的文件中,这样我的用户就不会搞砸了。

1 个答案:

答案 0 :(得分:1)

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

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

要从32位强制对System32进行64位访问,请使用文件夹名称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