什么是
JS
cript?
JScript
是由微软
开发
的活动脚本语言,基于 ECMAScript 规范实现。In
ternet
Explorer 中的
Java
Script,实际上是指 JScript。JScript 已被
Windows
Script Host(WSH)支持(WSH 中的 JavaScript shell scripting:C
:\>
cscript jslint
.
js
)。JScript 最新的版本(JScript.NET)基于 ECMAScript 4.0 ,并且可以
在 .Net 环境下编译。
.NET Framwork 中包含有 JScript 编译器 :JScriptCompiler
(C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\jsc.exe),其可以将 JScript
文件
编译为一个 .exe 或者 .dll 文件。
为了方便使用,我们
可以将 JScriptCompiler 的路径
加入到环境变量(环境变量 –>
系统
变量 –> Path)中。在 CMD 程序运行窗口中直接调用命令 “jsc”,就可以看到编译器相关的帮助选项。
jsc [选项] <源文件> [[选项] <源文件>…]
JScript 编译器选项
– 输出文件 -$$30
^$^ /out:<file> 指定二进制输出文件的名称
/t[arget]:exe 创建控制
台应用
程序(默认)
/t[arget]:winexe 创建 Windows 应用程序
/t[arget]:library 创建库程序集
/platfor
m:<platform> 限制此代码可以在其上运行的平台
;必须
是 x86、Itanium、x64
或 anycpu。默认为 anycpu
–
输入
文件 -
/autoref[+|-] 基于导入的命名空间
和完全限定名称自动引用程序集(默认情
况下为 on)
/lib:<path> 指定要在其中搜索
引用的附加目录
/r[eference]:<file list> 从指定的程序集文件引用元数据
<file list>: <assembly name>[;<assembly name>...]
–
资源
-
/win32res:<file> 指定 Win32 资源文件(.res)
/res[ource]:<info
> 嵌入指定的资源 <info>: <filename>[,<name>[,public|private]]
/linkres[ource]:<info> 将指定的资源链接
到此程序集 <info>: <filename>[,<name>[,public|private]]
– 代码生成 -
/debug[+|-] 发出调试信息
/fast[+|-] 禁用语言功能
以使代码更好地生成
/warnaserror[+|-] 将警告
视为错误
/w[arn]:<level> 设置警告等级(0-4)
– 杂项 -
@<filename> 有关更多选项,请阅读响应文件
/? 显示帮助
/help 显示帮助
/d[efine]:<symbols>
定义
条件编译符号
/nologo 不显示编译器版权标志
/print[+|-]
提供
print() 函数
– 高级 -
/codepage:<id> 使用指定的代码页 ID 打开源
文件
/lcid:<id> 将指定的 LCID 用于消息和默认代码页
/nostdlib[+|-] 不导入标准
库(mscorlib.dll)并将 autoref 默认值更改为 off
/utf
8output[+|-] 以 UTF-8 字符编码形式发出编译器输出
/versionsafe[+|-] 为没有标记为“override”或“hide”的成员指定默认值
创建 .exe 文件
先创建 JS 文件(C:\test\helloWorld.js),内容
如下:
print(
'Hello World! \nToday is '
+ date );
|
接着我们进行编译:
C
:\
test
>
jsc helloWorld
.
js
Microsoft
(
R
)
JScript
Compiler
version
8
.
00
.
50727
for
Microsoft
(
R
)
.
NET
Framework
version
2
.
0
.
50727
Copyright
(
C
)
Microsoft
Corporation
1996
-
2005
。保留所有权利。
你会惊讶的发现,C:\test 目录下多了个 helloWorld.exe 文件,非常简单吧,呵呵
最后我们可以直接执行
helloWorld.exe 文件:
C
:\
test
>
helloWorld
Hello
World
!
Today
is
Fri
Jun
3
23
:
13
:
20
UTC
+
8
2011
大功告成!!
创建 .dll 文件
.dll 文件的创建也同样非常简单:
package LibHW {
class HelloWorld {
function
run() {
var
date
=
new
Date();
return
'
Hello World! \nToday is
'
+
date;
}
}
}
编译语句:
C
:\
test
>
jsc
/
t
:
library
LibHW
.
js
对于生成的 LibHW.dll 文件,我们可以通过创建新的 .exe 文件(consumer.js –> consumer.exe)以导入模块的方式调用(类似于
Python
)。
先创建 consumer.js 文件:
import
LibHW
;
var
hw
=
new
LibHW
.
HelloWorld
();
print
(
hw
.
run
());
然后编译 consumer.js 文件,执行 consumer.exe:
C
:\
test
>
jsc consumer
.
js
Microsoft
(
R
)
JScript
Compiler
version
8
.
00
.
50727
for
Microsoft
(
R
)
.
NET
Framework
version
2
.
0
.
50727
Copyright
(
C
)
Microsoft
Corporation
1996
-
2005
。保留所有权利。
C
:\
test
>
consumer
Hello
World
!
Today
is
Sat
Jun
4
00
:
42
:
35
UTC
+
8
2011
当然你还可以创建 windows 的应用,上例中的 consumer.js 文件修改
如下:
import System.Windows.Forms;
//
this has a MessageBox class
import LibHW;
var
hw
=
new
LibHW.HelloWorld();
MessageBox.Show(
hw.run(),
"
Dude!
"
,
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation
);
编译语句:
C
:\
test
>
jsc
/
t
:
winexe consumer
.
js
双击新生成的 consumer.exe 文件,哈哈,是不是很有成就感!
从上面的例子可以看到 JScript 的潜力无限,没有做不到,只有想不到。
扩展阅读:
- 《Make your javascript a Windows .exe》
- 《JavaScript shell scripting》
原文:http://www.planabc.net/2011/06/04/use_jscript_to_create_windows_apps_and_libraries/
相关推荐
什么是 JScript? JScript 是由微软开发的活动脚本语言,基于 ECMAScript 规范实现。Internet Explorer 中的 JavaScript,实际上是指 JScript。JScript 已被 Windows Script Host(WSH)支持(WSH 中的 JavaScript ...
在.NET Framework中,DLL文件如Microsoft.JScript.dll扮演着提供特定功能的角色,多个应用程序可以共享这些功能,而无需重复编译相同的代码。 总结来说,Microsoft.JScript为.NET Framework带来了JavaScript的威力...
- ASP脚本语言:通常使用VBScript或JScript编写,也可以使用其他.NET语言如C#。 - `Response`对象:向客户端发送数据,如HTML代码、文本或文件。 - `Request`对象:获取来自客户端的信息,如表单数据、URL参数和...
在Windows操作系统中,DLL文件是可由多个程序共享的代码和数据的集合,通常用于提供特定的功能或服务。 首先,我们要理解ASP的概念。ASP是一种微软开发的服务器端脚本环境,用于创建和运行交互式的动态网页。它允许...
当开发者在应用程序中使用FastReport进行报表设计和打印时,如果缺少这个DLL文件,可能会导致报表工具栏无法正常显示,从而影响到报表的编辑和预览功能。 FastReport的核心特性包括: 1. **可视化报表设计器**:...
通过使用这些接口,.dll文件可以作为桥梁,帮助BarTender从数据库中提取数据并填充到标签模板上。此外,BarTender还支持VBScript和JScript编程,用户可以通过编写脚本来实现更复杂的逻辑,例如在打印前进行数据验证...
Windows Script则是一套编程接口,允许开发者使用脚本语言(如VBScript或JScript)在Windows环境中执行各种任务。 **详细知识点** 1. **动态链接库(DLL)**: DLL文件是Windows操作系统的核心组成部分,它包含可被...
INETINFO启动后会加载各种DLL文件,包括W3SVC.dll,以提供Web服务。 5. **Msadc60.dll**: 这个文件属于Microsoft ActiveX Data Objects (ADO) 6.0,是数据访问技术的一部分。IIS常常需要与数据库交互,Msadc60.dll...
rundll32.exe advpack.dll /DelNodeRunDLL32%systemroot%System32dacui.dll rundll32.exe advpack.dll /DelNodeRunDLL32%systemroot%Catrooticatalog.mdb regsvr32 /s comcat.dll regsvr32 /s asctrls.ocx regsvr32 ...
它包含了执行ASP页面所需的核心引擎,使开发者可以使用脚本语言(如VBScript或JScript)创建动态网页。 2. w3svc.dll:此文件是IIS服务的主要组成部分,它提供了基本的Web服务功能。W3Svc负责启动、停止和管理IIS...
rundll32.exe advpack.dll /DelNodeRunDLL32%systemroot%System32\dacui.dll rundll32.exe advpack.dll /DelNodeRunDLL32%systemroot%Catroot\catalog.mdb regsvr32 /s comcat.dll regsvr32 /s asctrls.ocx regsvr32...
这些命令涵盖了更多与Windows界面和组件关联的DLL文件,可能有助于修复问题。 如果前两种方法均未能解决问题,可以尝试第三种解决策略。在命令行中输入以下命令: 1. regsvr32 Appwiz.cpl 2. regsvr32 Mshtml.dll ...
当搜索功能无法工作时,可能是系统中的jscript.dll文件出现了问题。通过运行命令行工具,我们可以尝试重新注册该文件。首先,点击“开始”菜单,选择“运行”,在对话框中输入`regsvr32 jscript.dll`,然后按回车键...
37. **cscript.exe**:用于执行脚本文件,如VBScript和JScript。 38. **csrss.exe**:客户端服务器运行时子系统,是Windows操作系统的重要组成部分。 39. **csvde.exe**:CSVDE命令用于导入和导出Active Directory...
2. **利用VBScript或JScript**:可以创建一个VBS(Visual Basic Script)或JS(JScript)文件,通过它们来调用批处理文件并隐藏窗口。例如,VBS代码如下: ```vbscript Set WshShell = WScript.CreateObject(...
在IIS(Internet Information Services,互联网信息服务)中,asp.dll文件扮演着至关重要的角色,它是ASP技术的核心组件。 asp.dll文件的主要功能是解析和执行ASP页面中的脚本代码。当客户端请求一个扩展名为.asp的...
文件检查器工具(System File Checker, SFC.exe)是Windows系统自带的一个强大工具,它可以帮助用户检测并修复系统文件的损坏或丢失问题。在Windows 7操作系统中,这一工具对于维护系统的稳定性和安全性尤为重要。 ...