`
hanbaobao
  • 浏览: 21399 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用 JScript 创建 .exe 或 .dll 文件

阅读更多

什么是  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),内容 如下:

var date = new Date();
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 创建 .exe 或 .dll 文件的方法

    什么是 JScript? JScript 是由微软开发的活动脚本语言,基于 ECMAScript 规范实现。Internet Explorer 中的 JavaScript,实际上是指 JScript。JScript 已被 Windows Script Host(WSH)支持(WSH 中的 JavaScript ...

    Microsoft.JScript.zip

    在.NET Framework中,DLL文件如Microsoft.JScript.dll扮演着提供特定功能的角色,多个应用程序可以共享这些功能,而无需重复编译相同的代码。 总结来说,Microsoft.JScript为.NET Framework带来了JavaScript的威力...

    ASP环境的配置(iis安装的文件.dll .exe)

    - ASP脚本语言:通常使用VBScript或JScript编写,也可以使用其他.NET语言如C#。 - `Response`对象:向客户端发送数据,如HTML代码、文本或文件。 - `Request`对象:获取来自客户端的信息,如表单数据、URL参数和...

    asptxn.zip asptxn.dll

    在Windows操作系统中,DLL文件是可由多个程序共享的代码和数据的集合,通常用于提供特定的功能或服务。 首先,我们要理解ASP的概念。ASP是一种微软开发的服务器端脚本环境,用于创建和运行交互式的动态网页。它允许...

    FastReport.Bars.dll

    当开发者在应用程序中使用FastReport进行报表设计和打印时,如果缺少这个DLL文件,可能会导致报表工具栏无法正常显示,从而影响到报表的编辑和预览功能。 FastReport的核心特性包括: 1. **可视化报表设计器**:...

    BarTender相关dll与我的btw模版

    通过使用这些接口,.dll文件可以作为桥梁,帮助BarTender从数据库中提取数据并填充到标签模板上。此外,BarTender还支持VBScript和JScript编程,用户可以通过编写脚本来实现更复杂的逻辑,例如在打印前进行数据验证...

    wshext.dll文件

    Windows Script则是一套编程接口,允许开发者使用脚本语言(如VBScript或JScript)在Windows环境中执行各种任务。 **详细知识点** 1. **动态链接库(DLL)**: DLL文件是Windows操作系统的核心组成部分,它包含可被...

    iis安装组件时所需的文件

    INETINFO启动后会加载各种DLL文件,包括W3SVC.dll,以提供Web服务。 5. **Msadc60.dll**: 这个文件属于Microsoft ActiveX Data Objects (ADO) 6.0,是数据访问技术的一部分。IIS常常需要与数据库交互,Msadc60.dll...

    automation服务器不能创建对象的解决方法.docx

    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 ...

    IIS所需dll文件

    它包含了执行ASP页面所需的核心引擎,使开发者可以使用脚本语言(如VBScript或JScript)创建动态网页。 2. w3svc.dll:此文件是IIS服务的主要组成部分,它提供了基本的Web服务功能。W3Svc负责启动、停止和管理IIS...

    运行时错误 429,ActiveX部件不能创建对象怎么办.docx

    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...

    添加删除程序打不开怎么办.docx

    这些命令涵盖了更多与Windows界面和组件关联的DLL文件,可能有助于修复问题。 如果前两种方法均未能解决问题,可以尝试第三种解决策略。在命令行中输入以下命令: 1. regsvr32 Appwiz.cpl 2. regsvr32 Mshtml.dll ...

    如何解决xp系统的电脑搜索功能不能用的问题

    当搜索功能无法工作时,可能是系统中的jscript.dll文件出现了问题。通过运行命令行工具,我们可以尝试重新注册该文件。首先,点击“开始”菜单,选择“运行”,在对话框中输入`regsvr32 jscript.dll`,然后按回车键...

    dos 命令大全dos 命令大全

    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 asp.dll

    在IIS(Internet Information Services,互联网信息服务)中,asp.dll文件扮演着至关重要的角色,它是ASP技术的核心组件。 asp.dll文件的主要功能是解析和执行ASP页面中的脚本代码。当客户端请求一个扩展名为.asp的...

    win7系统中怎么使用文件检查器工具解决修复丢失或损坏的系统文件.docx

    文件检查器工具(System File Checker, SFC.exe)是Windows系统自带的一个强大工具,它可以帮助用户检测并修复系统文件的损坏或丢失问题。在Windows 7操作系统中,这一工具对于维护系统的稳定性和安全性尤为重要。 ...

Global site tag (gtag.js) - Google Analytics