【发布时间】:2011-03-16 20:12:13
【问题描述】:
我希望能够在 mshta.exe 的 32 位和 64 位版本中启动 page.hta。
创建文件 c:\page.hta
<body onclick="if(confirm('Close? (onclick)')){self.close();}">
<h1>Test Page</h1>
<script type="text/javascript">
var elem = [
"UserAgent="+window.navigator.userAgent,
"Platform="+window.navigator.platform
];
var taBegin = "<textarea style='width:100%' rows='"+((elem.length+1)*1.5)+"'>";
var taEnd = "</textarea>";
document.write(taBegin+elem.join("\n")+taEnd);
</script>
</body>
现在这里是尝试以不同方式加载页面的批处理文件。
@echo off
rem Launch 32bit
c:\Windows\SysWOW64\mshta.exe c:\page.hta
rem Launch 64bit
c:\Windows\System32\mshta.exe c:\page.hta
另一件有趣的事,尝试将 .hta 文件的默认处理程序更改为记事本。如果您执行前面的命令,它会启动记事本。似乎 mshta 有一些逻辑,只能通过默认处理程序启动 .hta。
使用指定为默认处理程序的任何命令。
【问题讨论】: