我正在尝试使用启动器在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。我需要将所有这些都放在一个可点击的文件中,这样我的用户就不会搞砸了。
答案 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