我最近在我的 Win XP 机器上偶然发现了一些描述为“HTML 应用程序”的文件。
- 这些是什么?
- 谁会使用它们?为什么我的电脑上有 2 或 3 个?
- 它们通常如何工作?我的意思是,嘿-HTML 用于向文本添加格式-HTML 应用程序?什么?微软?
请参阅此处了解HTML 应用程序 (HTA) 简介。
HTA 适用于您想要除 MsgBox 或控制台窗口以外的接口的 VB 脚本之类的东西。
由于它是 HTML,因此您可以使用按钮、文本区域、复选框等向用户显示信息并从他们那里获取输入,并使用 CSS 设置所有样式。由于 HTA 在本地计算机上运行,因此您可以使用 VBScript 进行计算和文件访问、使用 WMI 进行系统管理、使用 COM 对象进行程序自动化、使用 ADO 进行数据访问等等。
我曾经写过一个 HTA,它可以在用户机器上从一个公共文件夹安装、更新和比较 Word 模板。用户可以在公共文件夹旁边看到他们的模板文件夹以了解它们是否是最新的,如果不是,请点击更新按钮。
另一个管理和验证用户计算机上程序的安装,必要时复制 exe,确保注册表项设置正确,在桌面上放置快捷方式,让用户测试并查看安装结果,以及很快。它还将所有这些信息记录到一个共同的地方供我检查。
我最大的 HTA 项目之一是项目管理系统。界面向我展示了我正在进行的所有 Excel、Word 或 Access 项目。它会在特定环境中打开选定的项目,并向我展示它的所有部分。它允许我使用 VBE 自动化(Visual Basic 编辑器 COM 接口)从公共库中导入和导出代码模块。
我将把一个放在一起来显示用户机器上当前和“死”的打印机驱动程序。在我通过电话指导他们的情况下,他们将运行 HTA,列出所有已安装的打印机。他们会在他们想要保留的那些旁边打一个复选标记,然后点击一个按钮来删除所有其他的。对他们来说相当容易,并且让我不必去每台 PC 来解决这个问题。
许多这类事情只在 Windows 环境中才有意义,但你也可以用它编写一些非常通用的东西。任何您可以用 VBScript 或 JScript (JavaScript) 表达并想要 HTML/CSS 前端的东西都是 HTA 的良好候选者。我什至还曾在其中编写了一个基本的网络聊天系统。
有很多小 HTA 可以将数据从一种格式转换为另一种格式,比如将逗号分隔的数据转换为列式,或者添加或删除各种格式,如可引用打印的转义码、将十六进制格式的文本转换为纯文本等等上。将文本复制到一个输入文本区域,检查几个选项并按“开始”按钮,然后从输出文本区域复制转换后的数据。我写的一个是 SQL 格式化程序。它将获取 SQL 代码并将其包装为 VB 或 Delphi 字符串,并且还从包装回纯 SQL 代码,使用基本缩进和“漂亮打印”来清理它。
我不再像以前那样使用 HTA,但仍然认为它们对于适合该领域的各种工作来说是一项非常酷的技术。