您好,DL。是的,我们确实知道这样的命令,可以在 HTA

中使用并可以替代 Wscript.Shell

命令,我们一会儿就会向您介绍。不过,在介绍它之前,我们应注意到您实际上可以在

HTA 中使用 Wscript.Shell 对象。这是一个常会引发混淆之处:因为您在

HTA 中无法使用某些命令(如 Wscript.Echo 和

Wscript.Sleep),人们就认为您在 HTA 中无法使用任何 WSH

命令。

继续之前,还有一个问题:为什么您在 HTA 中无法使用 Wscript.Echo

和 Wscript.Sleep 呢?是这样,这些方法是 Wscript

对象的属性,而您是无法创建 Wscript 对象实例。Wscript

对象是自动创建的,而且只有在您运行 Windows Script Host(即

Wscript.exe 或

Cscript.exe)时才会创建。正因为这一点,才可以说以下脚本绝对有效:

Wscript.Echo "Hey."

请注意,我们没有创建 Wscript 对象,该对象是在我们调用 Windows

Script Host 时自动创建的。

但这只限于 Wscript 对象。还有其他您可以创建的 WSH

对象,包括 Shell 对象。例如,下面是一个简单的小 HTA,它创建

Wscript.Shell 对象,然后运行 Notepad.exe(并在此过程中打开文件

C:\Scripts\Test.txt):

Sub RunProgram

Set objShell = CreateObject("Wscript.Shell")

objShell.Run "notepad.exe c:\scripts\test.txt"

End Sub

Run Program

如您可以看到的,这差不多是您能获得的最简单的

HTA:它只由一个按钮组成,单击时会运行名为 RunProgram

的子例程。请看一下 RunProgram 的代码:

Sub RunProgram

Set objShell = CreateObject("Wscript.Shell")

objShell.Run "notepad.exe c:\scripts\test.txt"

End Sub

就是这样:我们创建 Wscript.Shell 对象的一个实例,然后调用

Run 方法。这样就为 Run 传递了单一参数:可执行文件名

(notepad.exe)

后跟想要打开的文件的路径。这就是我们需要做的一切。

顺便说一句,只要是在 HTA

中运行该脚本,则不会有任何问题。如果尝试在 HTML

文件(即文件扩展名为 .htm

的文件)中运行它,则会显示一个消息框,警告您有一个 ActiveX

控件正在尝试于页面上运行。此时必须单击是以允许该子例程创建

Shell 对象,并随后运行它。这是因为 WSH

对象被认为“对脚本编写是不安全的”。

注意:是啊,这听起来有点怪,竟然认为脚本编写对象对脚本编写是不安全的。但这是因为

Internet Explorer 使用与 WSH 不同的脚本宿主和不同的安全模型。幸好

HTA 使用与 Internet Explorer 不同的安全模型,这意味着您在 HTA

内创建 Shell 对象时不会遇到此问题。

那么,如果是使用那个替代命令呢?嗯,如果出于某种原因您不想使用

Wscript.Shell 对象,则可以改为使用 Windows Shell 对象。下面的 HTA

也可以启动记事本并打开文件 C:\Scripts\Test.txt:

Sub RunProgram

Const NORMAL_WINDOW = 1

Set objShell = CreateObject("Shell.Application")

objShell.ShellExecute "notepad.exe", "c:\scripts\test.txt", , , NORMAL_WINDOW

End Sub

Run Program

坦白地讲,我们认为使用 Windows Shell 对象与使用 Wscript.Shell

对象相比并没有什么真正的优势:这两个对象的功能基本上一样。不过,如果您想要摆弄一下

Windows Shell,请查阅有关 ShellExecute

方法的文档。重要的是这一点:如果想要从 HTA

启动应用程序,两种方法都可以使用。

c语言wscript.echo用法,WScript.Shell和一种替换方法(如何从 HTA 中启动应用程序?)...相关推荐

  1. SHELL/SSH基础知识(入门篇)-包含 shell 脚本语言的基本用法、 shell 脚本语言的基本用法、流程控制、函数 function、其它脚本相关工具、数组 array(欢迎留言交流)

    目录 1 shell 脚本语言的基本用法 1.1 shell 脚本注释规范 1.1.1 shell 脚本注释规范 1.1.2 执行(5种) 1.1.3 在远程主机运行本地脚本 1.1.4 检查shel ...

  2. R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier)、输出异常值对应的统计量、p值以及Bonferonnii校正p值

    R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier).输出异常值对应的统计量.p值以及Bonferonnii校正p值 目录

  3. c语言wscript.echo用法,2.4.3 用Wscript.Echo显示简单的文本信息

    2.4.3 用Wscript.Echo显示简单的文本信息 当你调试一个特别麻烦的脚本时,在某个时刻,你可能想要看看在程序运行期间,脚本的变量保存的内容是什么.然而,如果需要在一个循环中打印调试输出,或 ...

  4. c语言 编译开关用法,C语言中define的使用方法

    C语言中define的使用方法 学习了这么多年C语言,说实话对宏自以为了如指掌了,没想到看内核代码的时候还是那么吃力,设备驱动代码中有很多这样或者那样的宏定义,各种define都有哪些学习方法呢?以下 ...

  5. C语言----求解N以内的素数的两种典型方法以及其优化

    题目描述:求解N以内的素数 法一:(筛选法) 筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止. ...

  6. android 数组赋值字符串_C语言奇淫技巧,字符串的三种表示方法,不会用不是合格的程序员...

    1.在C语言中,是将字符串作为字符数组来处理的,字符串是逐个存放到数组元素中的 例如用一个一维的字符数组存放字符串"I am a boy.",如下代码: char c[12] = ...

  7. 单片机c语言 软件抗干扰,单片机软件抗干扰的几种常见方法

    在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活.节省硬件资源.可靠性好越来越受到重视.下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究. 1.软件抗干扰方法的研究 在工程实践 ...

  8. c语言字符串strchr,C语言 strchr 函数用法

    C语言 strchr 函数用法 C语言中strchr函数作用是为在一个串中查找给定字符的第一个匹配之处,该函的原型为"char *strchr(const char *str, int c) ...

  9. c语言double字母,c语言double的用法

    C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.接下来小编为大家整理了人体部位词汇中英互译c语言double的用法,希望对你有帮助哦! c语言double的用法: dou ...

最新文章

  1. 最让程序员自豪的事情是什么?
  2. 其实你做的大部分工作都是浪费
  3. 算法分析 载货问题_协会发布 | 汽车市场走势分析及2021年预测报告
  4. JavaScript高级程序设计(第3版)手写第一天。2019年2月23日,星期六
  5. python ftp 上传
  6. nc65语义模型设计_NC6X报表数据加工做语义模型(返回DataSet篇)
  7. 如何成为阿里巴巴大数据开发工程师?你要学习很多东西
  8. SAP Fiori Elements - how is sap-label annotation inserted to odata request
  9. 为您的下一个基于Spring的应用程序考虑使用spring-boot的原因!
  10. Android 应用开发(18)---在运行时请求权限
  11. python中文版软件下载-专业PYTHON开发工具——PyCharm中文汉化版下载(图文)
  12. 【转】C#获取用户桌面等特殊系统路径
  13. 安装教程之maven下载及安装
  14. 耳机插在电脑上没声音linux,解决linux上耳机没有声音
  15. 【视频音频】雷霄骅开源视音频项目汇总
  16. deepin 惠普打印驱动安装
  17. 【智慧城市】智能照明系统解决方案
  18. TSFS终端存储文件系统边缘计算项目介绍-海洋
  19. 查看 apk 签名指令
  20. Efficient Methods for Natural Language Processing: A Survey自然语言处理有效方法综述

热门文章

  1. 2021年上半年信息系统项目管理师上午试题解析(三)
  2. 《信息安全保障》一2.3 信息安全保障工作方法
  3. javamail阅读回执_使用阅读回执可能会让您变得更好
  4. 开关电源中变压器初次级线圈之间对EMI的作用(电磁兼容整改)
  5. vc编写魔兽争霸显血程序
  6. 【通信原理】第七章 -- 数字调制技术
  7. Pelican 入门:一个 Python 静态网站生成器
  8. 记一次基于强化学习的有向图搜索
  9. ios 真机调试 HbuilderX
  10. 草图大师免费模型分享2022.03.10(1skp.com)