`
passedbylove
  • 浏览: 19082 次
  • 性别: Icon_minigender_1
  • 来自: 沭阳人得南京
社区版块
存档分类

Java调用Windows API可能性的实现

阅读更多

前一段时间在blog里面写了一片日志

http://hi.baidu.com/passedbylove/blog/item/18b3d12ce67162e58b13997e.html

java调用windows api的可能性探讨

 

今天在这里写一个现成的java调用Windows 32api的例子给大家看看了。

抢在没有多少人了解或使用者技术的时候写出来。 ~~

首先从http://www.jinvoke.com/calling-the-win32-api-from-java将 jinvoke下载回来

将jinvoke.jar解压到 磁盘任意目录

配置环境变量

Windows键+ PuaseBreak打开 “系统属性”

切换到“高级”选项卡

点“环境变量”

如果当前用户中没有 classpath环境变量 请新建之

我这里java安装路径是

C:\Program Files\Java\jdk1.5.0_09

 

我应该设置的的classpath值是

.;C:\Program Files\Java\jdk1.5.0_09\lib\tools.jar;C:\Program Files\Java\jdk1.5.0_09\lib\dt.jar

其中 .;代表当前目录

其次查看 系统全局变量“系统变量”

找到path

在path头处添加 .;

尾部添加;C:\Program Files\Java\jdk1.5.0_09\bin;

配置好后一路“确定”后编写java文件

 

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);
}
}

 

jinvoke.jar放到HelloWindows.java同级目录

统计目录编写批处理文件compile.bat

 

@echo off
color 0f

javac -classpath %~dp1jinvoke.jar; %1
if %errorlevel%==0 (
echo 编译成功
cd %~dp1
java -classpath %~dp1jinvoke.jar; %~n1>nul 2>nul
)
pause

HelloWindows.javacomplie.bat 拖动

如果你的java软件包没问题就会出现这个画面

至于windows api能做什么,我就不说了。

csdn下载地址:

  • ext.rar (595.2 KB)
  • 下载次数: 98
分享到:
评论

相关推荐

    java 调用windows API

    Java调用Windows API是将Java程序与Windows操作系统底层功能相结合的一种技术。这使得Java开发者能够利用Java的跨平台优势,同时访问到特定于Windows系统的功能。以下是对这一主题的详细阐述: 1. **jinvoke.jar**...

    java调用windows api

    Java调用Windows API是将Java程序与Windows操作...以上是关于Java调用Windows API的基本概念、实现方式以及需要注意的事项。通过这些技术,开发者可以充分利用Java的灵活性和Windows的功能,创建出更强大的应用程序。

    如何在JAVA中调用windows_API.doc

    例如,如果你在Windows上,可能需要包含`windows.h`头文件并使用API函数。完成C代码后,保存为`.c`文件。 5. **创建动态链接库(DLL)**: 使用Visual C++或其他C/C++编译器,创建一个Win32 Dynamic-Link Library...

    java 使用windows api操作 office等的源码

    9. **跨平台性问题**:虽然Java本身具有跨平台特性,但使用Windows API意味着代码将受限于Windows环境,不能在非Windows系统上运行。 10. **最佳实践**:在实际开发中,应遵循最佳实践,如避免长时间运行的Office...

    如何在JAVA中调用windowsAPI.doc

    在Java中调用Windows API是通过Java本地接口(JNI,Java Native Interface)来实现的,这允许Java代码直接与操作系统底层交互,扩展Java的功能。以下是一个详细的步骤介绍: 1. **编写Java代码**: 首先,你需要在...

    java调用kettle提供的API实现数据抽取DEMO

    Java调用Kettle API实现数据抽取DEMO是一个典型的ETL(提取、转换、加载)过程,其中Kettle(又称Pentaho Data Integration或KDI)是一个强大的数据集成工具,允许开发者通过图形化界面或者编程方式处理数据迁移和...

    Java通过JNA调用系统API

    调用系统API可能会涉及安全问题,尤其是当修改系统时间或访问敏感资源时。确保你的应用有相应的权限,并且正确处理可能的异常。另外,虽然JNA提供了便利,但相比于JNI,它的性能可能会稍弱一些,对于性能要求极高的...

    java使用win32api创建gui窗体

    然而,有时候程序员可能需要访问更底层的操作系统功能,比如Windows API,来实现特定的功能。"java使用win32api创建gui窗体"这个主题就涉及到如何在Java程序中集成Win32 API来创建具有特殊需求的用户界面。 Win32 ...

    Java高手调用windows本地API、或者是c、c++等语言写的动态链接库源代码

    总的来说,Java调用Windows本地API或C/C++动态链接库是通过JNI或JNA来实现的。虽然这两种方法各有优缺点,但在实际应用中,JNA通常因为其易用性和无需编写本地代码的特点而更受欢迎。通过掌握这些技术,Java开发者...

    JAWIN(Java调用Win API)

    Java调用Win API,通常指的是在Java程序中利用Windows操作系统提供的功能接口,这些接口通常以动态链接库(DLL)的形式存在。为了实现这样的调用,开发者通常会使用JNI(Java Native Interface),这是一个允许Java...

    java 调用 360 api 接口实现批量查询手机号码归属地

    360 API可能需要发送GET或POST请求,带上必要的参数,如API Key、Secret以及手机号码列表。 3. **处理请求参数**:将手机号码归属地查询的请求参数,如手机号码,封装到请求体或者URL中。如果使用POST请求,数据...

    java调用高德公交api(java源码)

    在Java编程语言中,调用高德公交API可以实现丰富的公共交通功能,如线路查询、最优换乘策略计算、两点之间的距离测量(包括步行距离)。以下将详细介绍如何利用Java实现这些功能,以及高德公交API的基本原理和使用...

    Java调用Win32获取窗口句柄JNative-1.3.2

    总结来说,Java调用Win32获取窗口句柄JNative-1.3.2是一种使用JNI技术来实现Java与Win32 API交互的方法。通过JNative库,开发者可以轻松地在Java应用程序中查找并操作特定的Windows窗口,增强了Java应用程序的功能和...

    java调用api的方法

    Java调用RESTful API通常通过发送HTTP GET、POST、PUT、DELETE等方法实现。例如,使用HttpURLConnection,你可以构建URL、设置请求方法、添加请求头和请求体,然后接收响应。对于复杂的JSON数据操作,可以使用Gson或...

    java调用windows命令

    以下是如何使用Java调用Windows命令行的详细步骤和注意事项: 1. **调用外部程序** - 使用`Runtime.getRuntime().exec()`方法创建一个子进程来执行指定的可执行程序。例如: ```java Process process = Runtime....

    java调用chrome浏览器内核cef实现,非jxbrowser

    总结起来,Java调用Chrome内核CEF实现非JxBrowser的方式需要开发者具备一定的C++和JNI知识,以及对CEF框架的理解。这个过程虽然相对复杂,但可以避免商业库的费用,同时获得与Chrome相同的Web渲染能力。在实际开发中...

    java基于高德地图实现实时查询天气功能,api二次开发

    在这个项目中,我们将深入探讨如何进行API的二次开发,以实现在Java应用程序中实时查询天气的功能。 首先,我们需要了解高德地图开放平台(AMAP Open Platform),它为开发者提供了包括定位、地图展示、路径规划、...

    斑马打印机,Java调用官方API架包及调用样例

    本文将深入探讨如何使用Java调用斑马打印机的官方API(ZSDK_API.jar),以及在实际开发中需要注意的关键点。 首先,斑马打印机的ZSDK_API.jar是官方提供的Java库,它封装了与打印机通信的底层协议,包括设置打印...

    java调用Cloudera Manager Api实例

    Java调用Cloudera Manager API是一个复杂而关键的任务,它涉及到使用Java编程语言与Cloudera Manager服务器进行交互,以实现自动化管理和监控大数据集群。Cloudera Manager是管理Hadoop和其他Cloudera支持的数据处理...

    java-gitlab-api-master.zip

    `java-gitlab-api-master.zip`这个压缩包包含了一个Java库,用于实现对GitLab API的调用。在深入探讨之前,让我们先了解一下GitLab API的基本概念。 GitLab API 是一个RESTful API,它提供了丰富的功能,包括但不...

Global site tag (gtag.js) - Google Analytics