www.ntzj.net > jAvA如果写窗口程序,是不是也要调用win的API,如...

jAvA如果写窗口程序,是不是也要调用win的API,如...

不是有jvm么?你写好的java字节码文件由虚拟机执行,调用api也只是虚拟机来调用而已。你只是来告诉虚拟机要调用什么api。。至于夸平台,确实是可以夸平台。你编译后的字节码由虚拟机执行。只要在不同的环境用使用不用jvm就好。也就是说,你光来...

使用JNI调用WIN32 API ,先得到窗口句柄,再得到窗口的RECT 先WindowFromPoint(point); 再GetWindowRect(hwnd, &rect); 返回的rect,就是窗口的left/top/width/height 这个不麻烦、也不复杂,很简单的JNI。

Java可以通过JNI调用本地C语言方法,而本地C语言方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式),通过调用本地的库文件的内部方法,使Java可以实现和本地机器的紧密联系,调用系统级的各接口方法。 具...

当然需要win32 api,win下建议用c/c++会比较好吧。至于win下的api多如牛毛,可以找本专门讲win下编程的书看看入门。至于你说的安装包操作,貌似网上有开源软件,可以瞅瞅

JNI是Java Native Interface的缩写,中文为JAVA本地调用。 ·编写带有native声明的方法的java类 ·使用javac命令编译所编写的java类 ·使用javah ?jni java类名生成扩展名为h的头文件 ·使用C/C++实现本地方法 ·将C/C++编写的文件生成动态连接库 ·ok...

Java Native Interface 通过JNI接口,可以使Java程序调用其他语言的的函数。 但是使用JNI的Java程序,就失去了可移植性。 可以这么写: class HelloWorld { public native void displayHelloWorld(); static { System.loadLibrary("hello"); } p...

public class TestJni { public native void GetTickCount(); static { System.loadLibrary("Kernel32.dll"); } public static void main(String[] args) { TestJni testJni = new TestJni(); testJni.GetTickCount(); } } 执行上面代码结果是,...

JAVA不能直接调用Windows底层API,除非使用JNI技术。需要C语言配合

我的理解,你的java程序通过JVM被编译成字节码。当程序被执行时字节码被JVM使用JIT翻译成机器指令(机器相关)然后被OS执行。在这个过程中不涉及到WIN API的调用。如果JAVA程序涉及到WIN API,那么就得使用JNI,你可以学习下这方面的知识

- - 这些API 当然是 很多牛B的 程序员开发的。。。。 你只要拿来用就可以的。。你想了解 怎么实现的 看那些API的源代码就好了。。。 当然 在eclipse里装个反编译 也能查看它的源代码

网站地图

All rights reserved Powered by www.ntzj.net

copyright ©right 2010-2021。
www.ntzj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com