java 调用 windows api吗_Java中怎么调用Windows的API

这篇博客详细介绍了如何在Java中调用Windows API,通过创建TestAPI.java,使用javah生成JNI头文件,然后编写C源码并编译为.dll库。步骤包括Java源码编写、JNI接口定义、C代码实现以及编译过程。最后,展示了在不同平台(如Solaris和Win32)上的编译注意事项。
摘要由CSDN通过智能技术生成

1.建TestAPI.java

public   class   TestAPI

{

public   static   void   testshow(String   msg)

{

testshow0(msg);

}

private   static   native   int     testshow0(String   msg);

static

{

System.loadLibrary(   "TestAPI"   );

}

public   static   void   main(   String[]   args   )

{

testshow("Hello!");

}

}

2.javac   TestAPI.java

3.javah   -jni   TestAPI

4.建TestAPI.c

#include  

#include   "TestAPI.h"

JNIEXPORT   jint   JNICALL   Java_TestAPI_testshow0

(JNIEnv   *env,   jobject   obj,   jstring   s)

{

const   char*   szStr   =   (*env)->GetStringUTFChars(   env,   s,   0   );

MessageBox(NULL,szStr,"TestAPI",MB_OK);

(*env)->ReleaseStringUTFChars(   env,   s,   szStr   );

}

6.cl   -Id:/j2sdk1.4.2_09/include   -Id:/j2sdk1.4.2_09/include/win32   -LD   TestAPI.c   user32.lib

7.java   TestAPI

你将会看到java调用windwos   API的MessageBox所产生的Hello对话框

环境:

JDK+VC

还要看你是在什么平台使用

如果是Solaris平台,

第6步的语句要改成:

cc   -G   -Id:/j2sdk1.4.2_09/include   TestAPI.c   -o   libname.so

6,7步间再加一步:

setenv   LD_LIBRARY_PATH   libname.so

如果是win32平台生成.dll库

使用:

cl   -I   Id:/j2sdk1.4.2_09/include   -IId:/j2sdk1.4.2_09/include/win32   -LD   TestAPI.c   -name.dll

如果单纯地完成从居域网内文件的复制,就不用JNI了,RMI就可以解决;如果要获得本地机器的帐号和密码,我想应该读注册表,必须用JNI了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值