nlink コミッタになりました & 2008-01-26版リリース
Uruma で Win32API を利用できるようにするため、nlink というライブラリを使用しています。
nlink は、Java から DLL の関数を簡単に呼び出すことができるライブラリです。
たとえば、User32.dll に含まれている MessageBox 関数は、以下のようなコードで呼び出すことができます。
@DllClass public interface User32 { @DllMethod int MessageBox(int hwnd, String text, String caption, int flags ); } public class Test { public static void main(String[] args) { User32 user32 = NLink.create(User32.class); System.out.println(user32.MessageBox(0,"Hello","Testing",0x24)); } }
JNI によるコードを書かなくても手軽にDLLの関数を呼び出せるので、Java で実現できる範囲が一気に広がる素敵なライブラリです。
もちろん、OSに依存するようになってしまいますが、それを補ってもあまりある魅力ではないでしょうか。
今回、Uruma で利用するにあたってちょっとしたバグ報告をしたのがきっかけで、コミッタにさそっていただきました。
早速なので、使い勝手を向上(nlink.dll を Javaのライブラリパスに通さなくても利用できるようにした)した最新版をリリースしました。
ダウンロードはこちらからどうぞ。