c语言wscript.echo用法,WScript.Shell和一种替换方法(如何从 HTA 中启动应用程序?)...
您好,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 中启动应用程序?)...相关推荐
- 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 ...
- R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier)、输出异常值对应的统计量、p值以及Bonferonnii校正p值
R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier).输出异常值对应的统计量.p值以及Bonferonnii校正p值 目录
- c语言wscript.echo用法,2.4.3 用Wscript.Echo显示简单的文本信息
2.4.3 用Wscript.Echo显示简单的文本信息 当你调试一个特别麻烦的脚本时,在某个时刻,你可能想要看看在程序运行期间,脚本的变量保存的内容是什么.然而,如果需要在一个循环中打印调试输出,或 ...
- c语言 编译开关用法,C语言中define的使用方法
C语言中define的使用方法 学习了这么多年C语言,说实话对宏自以为了如指掌了,没想到看内核代码的时候还是那么吃力,设备驱动代码中有很多这样或者那样的宏定义,各种define都有哪些学习方法呢?以下 ...
- C语言----求解N以内的素数的两种典型方法以及其优化
题目描述:求解N以内的素数 法一:(筛选法) 筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止. ...
- android 数组赋值字符串_C语言奇淫技巧,字符串的三种表示方法,不会用不是合格的程序员...
1.在C语言中,是将字符串作为字符数组来处理的,字符串是逐个存放到数组元素中的 例如用一个一维的字符数组存放字符串"I am a boy.",如下代码: char c[12] = ...
- 单片机c语言 软件抗干扰,单片机软件抗干扰的几种常见方法
在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活.节省硬件资源.可靠性好越来越受到重视.下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究. 1.软件抗干扰方法的研究 在工程实践 ...
- c语言字符串strchr,C语言 strchr 函数用法
C语言 strchr 函数用法 C语言中strchr函数作用是为在一个串中查找给定字符的第一个匹配之处,该函的原型为"char *strchr(const char *str, int c) ...
- c语言double字母,c语言double的用法
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.接下来小编为大家整理了人体部位词汇中英互译c语言double的用法,希望对你有帮助哦! c语言double的用法: dou ...
最新文章
- 最让程序员自豪的事情是什么?
- 其实你做的大部分工作都是浪费
- 算法分析 载货问题_协会发布 | 汽车市场走势分析及2021年预测报告
- JavaScript高级程序设计(第3版)手写第一天。2019年2月23日,星期六
- python ftp 上传
- nc65语义模型设计_NC6X报表数据加工做语义模型(返回DataSet篇)
- 如何成为阿里巴巴大数据开发工程师?你要学习很多东西
- SAP Fiori Elements - how is sap-label annotation inserted to odata request
- 为您的下一个基于Spring的应用程序考虑使用spring-boot的原因!
- Android 应用开发(18)---在运行时请求权限
- python中文版软件下载-专业PYTHON开发工具——PyCharm中文汉化版下载(图文)
- 【转】C#获取用户桌面等特殊系统路径
- 安装教程之maven下载及安装
- 耳机插在电脑上没声音linux,解决linux上耳机没有声音
- 【视频音频】雷霄骅开源视音频项目汇总
- deepin 惠普打印驱动安装
- 【智慧城市】智能照明系统解决方案
- TSFS终端存储文件系统边缘计算项目介绍-海洋
- 查看 apk 签名指令
- Efficient Methods for Natural Language Processing: A Survey自然语言处理有效方法综述