分享

使用JNA 调用WINDOWS API

 miqi05 2010-04-04
在我接触JNA之前一直以为调用本地链接库函数的时候一定要借助JNI或者SWT来实现,一日中无意看到JNA,发现它也可以实现这类调用,于是下回来按网站上的例子试试了 还不错,因此还有点兴趣了,于是又自己写了 2个发挥了一下。
GetLogicalDriveStringsA【获取本地系统逻辑盘符】
GetSystemDirectoryA 【获取系统目录】
public interface Kernel32 extends Library {
    Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class);
  int GetLogicalDriveStringsA(int length,byte[] buffer);
    int GetSystemDirectoryA(byte[] buffer,int size);
}
 调用的方式为:
public class MainDemo ...{
    public static void main(String[] args) ...{
        Kernel32 lib = Kernel32.INSTANCE;
        byte[] buffer2=new byte[100];
        lib.GetLogicalDriveStringsA(buffer2.length/2,buffer2);
               for(byte bt : buffer2)
       ...{
            System.out.print((char)bt);
       }
         System.out.println();
        byte[] buffer = new byte[50];
 lib.GetSystemDirectoryA(buffer, 50);
          for(byte bt : buffer)
       ...{
            System.out.print((char)bt);
       }

}

}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangjianying/archive/2008/01/25/2064911.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多