【发布时间】:2021-10-28 16:50:11
【问题描述】:
当我在线查看.hta 文件类型时,它似乎被称为程序,但我知道mshta.exe 是用于它们的程序。这是否意味着.hta 实际上只是一个文件,它使用 mshta.exe 来解释它(实际上 mshta.exe 是一个精简的浏览器)?这是否意味着如果有人创建了一个新程序来替换 mshta.exe,则可以使用该新程序打开 hta 文件?
【问题讨论】:
当我在线查看.hta 文件类型时,它似乎被称为程序,但我知道mshta.exe 是用于它们的程序。这是否意味着.hta 实际上只是一个文件,它使用 mshta.exe 来解释它(实际上 mshta.exe 是一个精简的浏览器)?这是否意味着如果有人创建了一个新程序来替换 mshta.exe,则可以使用该新程序打开 hta 文件?
【问题讨论】:
我想如果你真的想学究气,只有带有 PE 头的 .exe 文件才是 Windows 的实际程序(Windows 95/98/ME 也可以直接运行 DOS .exe 和 .com 文件)。 CreateProcess 不能直接运行其他任何东西,需要某种解释器。
.hta 文件(HTML 应用程序)基本上是具有一些特殊语法的网页,通常是一些 HTML 和 Javascript。是的,mshta.exe 是一个精简的浏览器(很可能托管 mshtml/trident),理论上可以被另一个主机程序替换。 .hta 没有任何特殊之处,任何人都可以create a custom file extension 并将他们的解释器注册为这些文件的处理程序,这与Notepad.exe "%1" 作为 .txt 文件的默认处理程序没有什么不同......
【讨论】:
mshta "C:\Path\To\File\index.html" 它确实如此,实际上加载页面就像它是一个 .hta 文件一样,所以这基本上与你的一致说过。是的,它被称为 HTML Application,但它似乎基本上是在自定义浏览器中运行 HTML 内容(带/不带 JS 和 CSS)的定制解决方案。