- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何在JAVA中调用windows API
JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI(JAVA NATIVE INTERFACE)。在Windows平台上实现Java本地方法 在Windows平台上创建本地方法共有如下所示的五个步骤: 1、写Java代码2、译Java代码3、创建C头文件(.h 文件) 4、编写C代码并创建动态连接库(DLL)5、运行应用程序编写java代码:要在代码中使用本地方法,要额外增加两个部分。 第一个部分:必须声明本地方法。声明方法与一般的函数声明一样,但必须指定native关键字,如下所示 public native void mynativefunction(); 第二个部分:必须显式地加载本地代码库。为了加载本地代码库,必须在类的一个静态块中加载这个库。加载库和使用库的方法如下所示: class NativeExample{ static{ System.loadLibrary (mynativelib); } public static void main(String args[]){ mynativelib mylib=new mynativelib(); mylib.mynativefunction(); } … }编译Java代码 使用Java编译工具(javac)编译*.java代码创建 C 头文件(.h文件) 为了将C代码用作Java的本地方法,必须使用特殊的函数声明,以便在C代码编译的时候,能够为Java所使用。Java编译器的javah工具将根据Java代码生成相应的头文件(.h文件),这些头文件必须在C代码中包含。 头文件创建方法为: javah –jni 类名编写C代码并创建动态连接库(DLL)可以使用VC++6.0建立动态连接库。 在新建工程中选择Win32 Dynamic-Link Library,建立一个Simple DLL Project,把刚才建立的头文件包含进工程,并在工程中加入需要实现的本地方法,函数头部分同头文件中声明的那样。在函数中加入功能代码。代码完成后,进行编译,在Tools下拉式菜单的Options设置下设置JDK的include目录编译通过后,制作一个release版本的DLL,放到Windows 的 PATH 环境变量所指定的路径中或程序运行的目录下,确保程序可以找到这个DLL文件。 运行应用程序 至此,全部工作完成,像平时一样运行Java程序,就可以实现对本地方法的调用: java 类名 详细描述如下我的工具:JBUILDERX及其内置的jdk1.4及resin2.1调试服务器,创天中文vc++6.01、java文件:package web.test;public class MyNative {public MyNative() {}public native void Hello();public static void main(String []args){MyNative mn=new MyNative();mn.Hello();}static{System.loadLibrary(MyNative);}}用jbuilderX编译它,然后右边选中MyNative.java,选属性,勾选Generate JNI head file,options选JNI for jdk1.1 and later,确定。这时,在右边的工具栏里的MyNative.java前面就多了一个可以展开的按钮,下面是刚产生的 JNI 头文件[web_test_MyNative.h],如果没有,请刷新或者再编译,应该就有了。web_test_MyNative.h:/* DO NOT EDIT THIS FILE - it is machine generated */#include /* Header for class web_test_MyNative */#ifndef _Included_web_test_MyNative#define _Included_web_test_MyNative#ifdef __cplusplusextern C {#endif/** Class: web_test_MyNative* Method: Hello* Signature: ()V*/JNIEXPORT void JNICALL Java_web_test_MyNative_Hello(J
您可能关注的文档
- 如何判断血压计的好坏.doc
- 如何利用Excel提升企业管理效率.docx
- 如何利用OUTLOOK在厂外收发OA邮件.doc
- 如何利用PhotoShop来提升商品价值(多多学习网).doc
- 如何利用QQ展开业务.doc
- 如何利用互联网搜索引擎获取有效的信息.doc
- 如何利用多媒体来教学思想品德课.doc
- 如何利用局域网共享资源.doc
- 如何利用教学活动打造音标及词汇的高效课堂.doc
- 如何利用无线网卡连接两台计算机.doc
- 生物基塑料市场动态分析:2025年合成生物学技术发展对产业影响报告.docx
- 产教融合促进现代学徒制创新发展的路径分析.docx
- 2025年钠离子电池在船舶动力电池中的应用与市场前景报告.docx
- 2025年细分医疗领域报告:血液疾病诊断与治疗市场前景展望.docx
- 八年级美术上册第15课综合练习教案省公开课一等奖新课获奖课件.pptx
- 2025年天津市冰雪体育旅游项目四季运营模式可行性研究报告.docx
- 生物基塑料市场增长新动力:2025年合成生物学技术突破与应用展望.docx
- 智能仓储分拣系统在智慧城市建设中的应用报告2025.docx
- 生物基塑料市场新动力:2025年合成生物学技术进展与应用策略.docx
- 创新驱动的制造业转型路径.docx
最近下载
- 转正合同协议.docx VIP
- 糖尿病优秀ppt课件.pptx VIP
- 《区域地理-东南亚(第课时)》-公开课件(设计).ppt VIP
- 2025年农村环保问题解析:十种废弃物资源化利用创新模式研究.docx
- 药食同源-公开课件.ppt VIP
- 回收废弃农作物秸秆项目备案申请可行性研究报告.docx
- 消食类药食同源中药的合理应用教材(PPT 74页).ppt VIP
- 犀牛角及其制品鉴定识别方法的研究.doc VIP
- 药食同源食物介绍PPT课件.pptx VIP
- Unit 1 Helping at home Part A (3) Let's spell 课件2025-2026学年度人教PEP版英语四年级上册.pptx VIP
文档评论(0)