nlinkを使ってWindowsのAPIを呼び出すサンプル
kaisehのブログ - JavaからWin32 APIを簡単に呼べるnlinkを使ってみたより。nlinkを使うと、ネイティブコードとJavaのブリッジをさくっと作成できます。
- 決められた規則に従ってinterfaceを作成しておけば、
- 「NLink.create()」で、「interfaceが示すネイティブコードを呼び出すプロキシ」を作ってくれます。
- 後は、プロキシのAPIを実行するだけ。
以下は、nlinkを使ってファイルを移動するサンプルです。
import nlink.win32.DllClass; import nlink.win32.DllMethod; import nlink.win32.NLink; public class Move { public static void main ( String[] args ) { // ネイティブコードを呼び出してファイルを移動する。 Kernel32 kernel32 = NLink.create(Kernel32.class); System.out.println( kernel32.MoveFile( "./file.txt", "./newFile.txt" ) ); } // プロキシのインターフェイス @DllClass public interface Kernel32 { // 変換規則に従ってDLL内のAPIと同名のメソッドを定義しておく。 @DllMethod int MoveFile( String lpExistingFileName, String lpNewFileName ); } }
これはすごいなー。