java 怎么用windows api 如何在JAVA中调用windows API

\u5982\u4f55\u7528java\u8c03\u7528windows\u7cfb\u7edfAPI\uff1f

Java Native Interface
\u901a\u8fc7JNI\u63a5\u53e3\uff0c\u53ef\u4ee5\u4f7fJava\u7a0b\u5e8f\u8c03\u7528\u5176\u4ed6\u8bed\u8a00\u7684\u7684\u51fd\u6570\u3002
\u4f46\u662f\u4f7f\u7528JNI\u7684Java\u7a0b\u5e8f\uff0c\u5c31\u5931\u53bb\u4e86\u53ef\u79fb\u690d\u6027\u3002

\u53ef\u4ee5\u8fd9\u4e48\u5199\uff1a
class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}

public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}

HelloWorldImp.c.

#include
#include "HelloWorld.h"
#include
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{
printf("Hello world!\n");
return;
}

\u8981\u8c03\u7528Windows\u7684API\u9700\u8981\u4f7f\u7528JNI\u6280\u672f

java使用JInvoke调用windows API

使用jinvoke调用windowsAPI。jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样。

官网使用参考:http://www.jinvoke.com/calling-the-win32-api-from-java

一个弹出框的例子(这种代码用于调用任何dll,不只是windows的,也可以是自己写的dll)

import com.jinvoke.JInvoke;
import com.jinvoke.NativeImport;

public class HelloWindows
{
@NativeImport(library="User32")
public static native int MessageBox(int hwnd,
String text,
String caption,
int type); //windows Api MessageBox函数原型

public static void main(String[]argc)
{
JInvoke.initialize();
MessageBox(0,"Thisi MessageBox is a native Win32 MessageBox",
"Hellow World",0);
}
}

扩展阅读:javascript免费网站 ... zookeeper java api ... java.52emu.cn ... javascript高级视频 ... www.oneplus.com ... java webservice ... 免费源码资源源码站 ... java入门网站 ... 黑马java视频 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网