JavascriptでWin32APIが利用しやすくなる『win32api.js』
2008年10月9日
ネットサーフィンしていて、面白い記事を発見。
Electronic Genomeより、
JavascriptでWin32APIが利用しやすくなる『win32api.js』
Javascript(JScript)からSFC mini経由でWin32APIを簡単に利用できるようにするwin32api.jsを作ったので公開します。win32api.jsをインポートすると Win32APIで定義されている定数6315個、構造体クラス412個、API関数2007個がグローバル変数として展開されます。これでCなどで書かれたWin32APIなコードを比較的簡単にHTAなどのJavascriptアプリに流用できそうです。
SFC-miniには、VBScriptで比較的簡単に使うことを最終目的としたライブラリというシステムがあるが、まだまだ開発途中。もともとこのツールはVBScriptで使うことから開発が始まったのだけれど、今の時代では、JScript(Javascript)で使う人の方が多いことは十分予想できた。
WIN32API.txtをそのまま変換して、JScriptの関数群にしてしまおうという考え方は、非常に面白い。
このwin32api.jsを実行すると、WIN32API.txtに含まれている関数・定数・構造体がすべて登録されて、簡単にJScriptから使えるようになる。一部で『そんなことすると重たいんじゃない?』という意見もあるようだが、実際にこのスクリプトを実行してみると、意外に軽い。今使っているAthron64x2 1.9 GHzの環境で、JITでのパースに0.2秒ほど。HTAで使う場合など、ファイルアクセスに要する時間などと比較してみても、まったく問題にならない実行速度だ。
というわけで、スクリプターの皆さん。Win32APIをJScript/Javascriptでどんどん使いましょう。
Windows Vista になって.NETが標準装備になり、これから先スクリプトがPowerShell主流の時代になると、Win32APIもほとんど使われなくなるのかもしれない(MS-DOSのint 21が今では使われないように)。しかしながら、完全にそういった体制に移行するのは、ずっと先の気がする。なんだかんだで、こういった根幹部分の技術革新のスピードは、ゆっくりしている。
Electronic Genomeより、
JavascriptでWin32APIが利用しやすくなる『win32api.js』
Javascript(JScript)からSFC mini経由でWin32APIを簡単に利用できるようにするwin32api.jsを作ったので公開します。win32api.jsをインポートすると Win32APIで定義されている定数6315個、構造体クラス412個、API関数2007個がグローバル変数として展開されます。これでCなどで書かれたWin32APIなコードを比較的簡単にHTAなどのJavascriptアプリに流用できそうです。
SFC-miniには、VBScriptで比較的簡単に使うことを最終目的としたライブラリというシステムがあるが、まだまだ開発途中。もともとこのツールはVBScriptで使うことから開発が始まったのだけれど、今の時代では、JScript(Javascript)で使う人の方が多いことは十分予想できた。
WIN32API.txtをそのまま変換して、JScriptの関数群にしてしまおうという考え方は、非常に面白い。
このwin32api.jsを実行すると、WIN32API.txtに含まれている関数・定数・構造体がすべて登録されて、簡単にJScriptから使えるようになる。一部で『そんなことすると重たいんじゃない?』という意見もあるようだが、実際にこのスクリプトを実行してみると、意外に軽い。今使っているAthron64x2 1.9 GHzの環境で、JITでのパースに0.2秒ほど。HTAで使う場合など、ファイルアクセスに要する時間などと比較してみても、まったく問題にならない実行速度だ。
というわけで、スクリプターの皆さん。Win32APIをJScript/Javascriptでどんどん使いましょう。
Windows Vista になって.NETが標準装備になり、これから先スクリプトがPowerShell主流の時代になると、Win32APIもほとんど使われなくなるのかもしれない(MS-DOSのint 21が今では使われないように)。しかしながら、完全にそういった体制に移行するのは、ずっと先の気がする。なんだかんだで、こういった根幹部分の技術革新のスピードは、ゆっくりしている。