Dynamic 使用vbs在exe中运行文件

Dynamic 使用vbs在exe中运行文件,dynamic,vbscript,exe,Dynamic,Vbscript,Exe,我正在尝试使用启动器在exe文件中运行hta。 启动器选择system32 mshta打开hta,因为windows默认为32位mshta,即使在64位系统上也是如此 我是这样做的: CreateObject("WScript.Shell").Run "C:\Windows\System32\mshta.exe page.hta" 这不起作用,我也试过了 CreateObject("WScript.Shell").Run "C:\Windows\System32\mshta.exe " &am

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

我是这样做的:

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中

要强制从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

你说的“我需要把它作为一个可运行的文件”是什么意思?请解释更多你的目标!我制作了一个hta,一个包含hta命令的txt,一个确保hta通过system32打开的启动器,以及一个让脚本工作的dll。我需要所有这些都放在一个可点击的文件中,这样我的用户就不会把它搞砸了。我可能还不够清楚。我使用的是64位系统,并且我有启动程序设置,所以使用的mshta已经是正确的了。我的问题是,当我用iexpress打包时,我再也无法让它打开hta了。我向你解释了。你说得很清楚。我的评论只适用于Windows 64。它们在Windows 32上没有任何意义。