JavaScript奇淫技巧:把JS编译成exe

本文,介绍一种一般人不知道的技术:把JS代码编译exe,而且不使用第三方工具,仅用系统工具完成。

第一:工具准备

编译JS代码,使用一个名为jsc.exe的工具,在系统windows目录中搜索,可找到此文件。

使用jsc /help可获得此工具的使用说明:

第二:编译js为命令行输出exe

代码如下:

var d = new Date();
var n = Math.random();
print('Hello, today is ' + d + 'nand this is random - ' + n);

编译并执行:

第三:编译js为dll(动态链接库)

代码如下:

package LibHello {
class Hello {
function say() {
var d = new Date();
var n = Math.random();
return 'Hello, today is ' + d + 'and this is random - ' + n;

编译方法:

第四:调用js编译的dll文件

代码:

import LibHello;
var h = new LibHello.Hello();
print(h.say());

编译并执行:

第五:调用系统API

本例调用MessageBox,代码:

import System.Windows.Forms; // this has a MessageBox class
import LibHello;
var h = new LibHello.Hello();
MessageBox.Show(
h.say(),
"title",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation

编译并运行:

第六:补充说明

本文示例js代码,是使用了JScript.NET语法,大体而言属于js的分支语法,类似Node.JS。

JScript.NET的更多用法,可参考微软官方说明。