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

要调用Windows的API需要使用JNI技术,但是基础的JNI太复杂了,一般使用JNA。
JNA是一个封装后的JNI,可以直接使用它来直接调用大部分Windows的API,而且其已经针对windows实现了User32等常用接口。

JNI 这是做这样的事情的,百度一下,很容易找到例子的。

  • 濡備綍鐢java璋冪敤windows绯荤粺API?
    绛旓細Java Native Interface 閫氳繃JNI鎺ュ彛锛屽彲浠ヤ娇Java绋嬪簭璋冪敤鍏朵粬璇█鐨勭殑鍑芥暟銆備絾鏄娇鐢↗NI鐨凧ava绋嬪簭锛屽氨澶卞幓浜嗗彲绉绘鎬с傚彲浠ヨ繖涔堝啓锛歝lass HelloWorld { public native void displayHelloWorld();static { System.loadLibrary("hello");} public static void main(String[] ...
  • JAVA楂樻墜杩鎬庝箞鍦java璋冪敤WIN32 api鎴栧凡缁忕紪璇戝ソ鐨.NET绋嬪簭闆?_鐧惧害鐭...
    绛旓細5) 鐢熸垚鍔ㄦ佸簱 杩欓噷浠ュ湪Windows涓负渚嬶紝闇瑕佺敓鎴恉ll鏂囦欢銆傚湪淇濆瓨HelloWorldImpl.c鏂囦欢澶逛笅闈紝浣跨敤VC鐨勭紪璇戝櫒cl鎴愩 cl -I%java_home%\include -I%java_home%\include\win32 -LD HelloWorldImp.c -Fehello.dll 娉ㄦ剰锛氱敓鎴愮殑dll鏂囦欢鍚嶅湪閫夐」-Fe鍚庨潰閰嶇疆锛岃繖閲屾槸hello锛屽洜涓哄湪HelloWorld.java鏂囦欢涓垜...
  • java 鏄惁鍙互璋冪敤window鍛戒护
    绛旓細鍙互 Runtime runtime = Runtime.getRuntime();runtime.exec("");//瀛楃涓閲鍙互鏀剧疆windows鍛戒护锛屾棤闇鎵╁睍鍚
  • java涓庝箞璋冪敤windows璁$畻鍣
    绛旓細鍐欎竴涓狝pplet宓屽叆鍒伴〉闈腑锛岀劧鍚庡啀Applet涓璋冪敤绯荤粺璁$畻鍣ㄦゼ涓婄殑锛岃鍏堝紕娓呭墠鍚庡彴浠g爜鍐嶅洖绛旈棶棰橈紝浣犲啓鍦<%%>閲岄潰鐨java绋嬪簭鍦ㄥ悗鍙版墽琛屼簡锛屽鏋滃悗鍙颁娇鐢ㄧ殑鏄window绯荤粺鐨勮瘽锛屼綘浼氬湪浣犵殑鏈嶅姟鍣ㄤ笂鎵撳紑涓涓绠楀櫒锛屽鏋滀笉鏄紝绛夌潃鎶ラ敊鍚ц阿璋㈠搱銆傛垜瀛︿簡涓嶅皯鐭ヨ瘑銆傜粓浜庢剰璇嗗埌鍩虹鐨勪笢瑗挎槸澶氫箞閲嶈浜嗘仼锛屼綘...
  • 杩愯java浠g爜鎬庢牱鎿嶄綔鏄剧ずwindowclosed--绐椾綋鍏抽棴浜嬩欢,姹傝В绛...
    绛旓細浣犳兂瑕佽Е鍙戠殑鏄獥鍙e叧闂簨浠windowClosed, 閭d箞浣犻渶瑕璋冪敤dispose鏂规硶,瀵圭獥鍙h繘琛岄攢姣.淇敼浠g爜濡備笅 public void windowClosing(WindowEvent e) {System.out.println("windowClosing--绐椾綋姝e湪鍏抽棴浜嬩欢");//f.setVisible(false);//闅愯棌绐楀彛f.dispose();//閿姣佺獥鍙-->杩欒浠g爜浼氳Е鍙憌indowClosed浜嬩欢}杩樻湁鍏朵粬...
  • java璋冪敤GetWindowRect鎬庝箞浼犲弬鏁
    绛旓細WinDef.RECT rect = new WinDef.RECT();鏈鍚璋冪敤GetWindowRect鏂规硶 User32.INSTANCE.GetWindowRect(hwnd, rect);//鏈鍚庤幏鍙栧埌鐨勬暟鎹兘瀛樺湪浜唕ect閲岄潰, 鍙互鍙栧嚭鏉ョ敤int myWidth = rect.right - rect.left; // 鍙抽《鐐-宸﹂《鐐= 瀹絠nt myHight = rect.bottom - rect.top;// 涓嬮《鐐-涓婇《鐐 = 楂...
  • ...鍒囨崲Java鐗堟湰)Jenv浣跨敤(鏀寔Linux Mac Windows)
    绛旓細鎺ヤ笅鏉ワ紝璁╂垜浠潵鐪嬬湅濡備綍浣跨敤jEnv鏉ョ鐞嗕綘鐨Java鐗堟湰銆備娇鐢╦env add鎸囦护锛岃交鏉惧皢浣犵殑Java瀹夎璺緞娣诲姞鍒扮鐞嗗垪琛ㄤ腑銆傛瘮濡傦紝鎴戞湁jdk1.8鍜宩dk17锛岃矾寰勫垎鍒湪:jdk1.8: /Users/shizhenchao/Library/Java/JavaVirtualMachines/corretto-1.8.0_292/Contents/Homejdk17: /Users/shizhenchao/Library/Java/Java...
  • windows浣跨敤jdk鎻愬彇jar銆傚寘
    绛旓細1. 棣栧厛锛岀‘璁ゅ凡缁忓畨瑁呬簡JDK銆傚彲浠ュ湪鍛戒护琛岀獥鍙d腑杈撳叆`java -version`鍛戒护鏉ユ鏌DK鏄惁宸叉纭畨瑁呭苟閰嶇疆銆2. 鎵撳紑鍛戒护琛岀獥鍙o紝杩涘叆鍒癑AR鍖呮墍鍦ㄧ殑鐩綍銆3. 浣跨敤`jar -xf <JAR鏂囦欢鍚>`鍛戒护鏉ユ彁鍙朖AR鍖呫備緥濡傦紝濡傛灉瑕佹彁鍙栧悕涓篳myapp.jar`鐨凧AR鍖咃紝鍙互杈撳叆`jar -xf myapp.jar`鍛戒护銆4. 鎻愬彇鍚庯紝...
  • java鎬庝箞鎵撳紑宸﹁竟鐨剆rc鐣岄潰
    绛旓細1銆侀鍏堟墦寮eclipse杞欢锛岀偣鍑婚《閮ㄥ鑸爮涓殑window閫夐」銆2銆佺劧鍚庡湪鎵撳紑鐨勪笅鎷夎彍鍗曚腑锛岀偣鍑籹howview閫夐」銆3銆佹帴鐫鍦ㄦ墦寮鐨勮彍鍗曚腑锛岀偣鍑籶rojectExlorer閫夐」鍗冲彲璋冨嚭宸︿晶椤圭洰鏍忋
  • Windows涓嶈兘鐢ㄩ紶鏍囧弻鍑昏繍琛宩ar鏂囦欢鎬庝箞鍔
    绛旓細1銆佷笅杞藉苟瀹夎鏈鏂扮増鐨Java铏氭嫙鏈猴紙JVM锛夈備笅杞界綉鍧锛歨ttp://www.java.com/zh_CN/ 娉ㄦ剰锛氭棤璁烘槸Win7杩樻槸WinXP,閮介渶瑕佷簨鍏堜笅杞藉苟瀹夎Java铏氭嫙鏈恒2銆佸畨瑁呭ソJava铏氭嫙鏈哄悗,鍙屽嚮闇瑕佽繍琛岀殑jar鏂囦欢鎴栧湪jar鏂囦欢涓婄偣鍑婚紶鏍囧彸閿,鍦ㄥ脊鍑虹殑鑿滃崟涓夋嫨鈥滄墦寮鏂瑰紡鈥濃啋鈥滈夋嫨榛樿绋嬪簭鈥濄3銆佸湪鈥滄墦寮鏂瑰紡鈥濊缃...
  • 扩展阅读:javascript免费网站 ... 低学历适合学java吗 ... 黑马java视频 ... 最好的javascript视频 ... java入门网站 ... 为什么都不建议java转测试 ... java windowbuilder ... java在线api ... javascript入门 ...

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