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的更多用法,可参考微软官方说明。