使用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);
}
}
运行效果:
*
使用以上代码方式可以任意调用本地的DLL文件。
注意:1.import com.jinvoke.JInvoke;import com.jinvoke.NativeImport;//引用包
2.@NativeImport(library="User32")//指定本地的DLL文件
3.public static native int MessageBox(int hwnd,String text,String caption,int type); //windows Api MessageBox函数原型 声明一个可以在java当前类中使用的方法
4.JInvoke.initialize();//实例化JInvoke
5.MessageBox(0,"Thisi MessageBox is a native Win32 MessageBox","Hellow World",0);//然后就可以开始调用DLL中的函数了
*
如果只是为了使用User32.dll中的函数可以直接使用jinvoke.jar中提供的User32类,而不必使用@NativeImport(library="User32")去包含一个DLL,再去声明一个做函数的类型转换的方法。
*
编译是需要带上jinvoke.jar即:java -classpath .;jinvoke.jar HelloWindows
分享到:
相关推荐
包里有jinvoke所需的JAR包和jinvoke源码,和自己下载的一些学习jinvoke的文档和例子,在这里总结在一块,方便大家的学习!
使用`jinvoke.jar`,开发者可以简化这个过程,直接在Java代码中调用Windows API。 2. **JNI(Java Native Interface)**: JNI是Java平台的标准部分,它允许Java代码和其他语言写的代码进行交互。在调用Windows ...
Windows API 是一个应用程序编程接口,提供了许多功能,可以帮助应用程序达到各种目的,如打开窗口、绘制图形、使用外围设备等。这些功能服务可以被应用程序调用,以实现特定的功能。 在 LabVIEW 中调用 Windows ...
本文将详细介绍如何使用Java通过JNA调用系统API,以Windows系统为例,重点讲解如何调用`Kernel32.dll`中的`GetLocalTime()`, `GetSystemTime()` 和 `SetLocalTime()` 方法。 1. **Java Native Access (JNA)**: JNA...
例如,压缩包中的HelloJNA.java文件很可能是一个示例,展示了如何使用JNA调用Windows API。在这个例子中,可能定义了一个接口,如`WinApi`,并声明了`kernel32.dll`中的一些函数,如`GetLastError()`和`...
### VB.NET 调用 Windows API 使用方法 #### 一、引言 Windows API(Application Programming Interface)调用在过去曾是Visual Basic编程中非常重要的一部分。然而,在Visual Basic .NET(以下简称VB.NET)环境下...
以下是一些关于如何使用Java调用Jenkins API的重要知识点: 1. **Jenkins REST API**: Jenkins主要通过RESTful API提供服务,这些API以JSON或XML格式返回数据。开发者可以使用HTTP请求(GET、POST、PUT、DELETE等...
Java调用Windows API是将Java程序与Windows操作系统底层功能相结合的一种技术。这允许Java开发者利用Java的跨平台特性,同时可以访问到特定于Windows系统的功能,例如注册表操作、文件系统监控、用户权限管理等。要...
Labivew 调用 Windows API 函数实现 VI 窗口置顶 LabVIEW 是一个非常流行的虚拟仪器开发平台,通过调用 Windows API 函数可以实现 VI 窗口置顶。下面我们将详细介绍如何通过 LabVIEW 调用 Windows API 函数来实现 ...
Java调用WebAPI是开发过程中常见的任务,尤其是在分布式系统或者微服务架构中,不同服务间通过API进行数据交互。WebAPI通常指的是Web应用程序提供的接口,允许客户端(如Java应用)发送HTTP请求并接收响应。本压缩包...
4. **调用API函数**:获取到函数地址后,你可以像普通C函数一样调用它。请注意,一些API函数可能需要特定的调用约定,如stdcall,这需要在函数声明时指定。 5. **错误处理**:调用API函数后,别忘了检查返回值,以...
一直以为调用本地链接库函数的时候一定要借助JNI或者SWT来实现,一日中无意看到JNA,发现它也可以实现这类调用
使用`ByVal`关键字可以确保参数按值传递,即在调用API时传递的是参数的副本,而不是其地址。这对于防止意外修改原始数据非常重要。然而,当API需要直接访问变量的地址时,不应使用`ByVal`。在某些情况下,如与OLE...
### LabVIEW 中调用 Windows API 的方法 #### 1. Windows API 简介 **1.1 简介** Windows API(Application Programming Interface,应用程序接口)是微软为 Windows 操作系统提供的一个广泛使用的程序接口集合。...
4. **调用API函数**:使用LabVIEW的"Call Library Function Node"来调用API函数。在这里,你需要正确配置节点的库路径(DLL文件)、函数名、输入和输出参数。 5. **处理返回值和错误码**:大部分Windows API函数会...
5. **错误处理**:Windows API函数通常使用一个错误代码来表示函数执行结果,因此在调用API后,需要进行错误检查并处理可能的错误情况。 该压缩包中的源代码可能包含了一些典型示例,例如: - 文件操作:如打开、...
使用 C、C++ 调用 Windows API 操作 Office 组件 在 Windows 平台上,使用 C 或 C++ 调用 Windows API 来操作 Office 组件是一种常见的需求。由于 Office 组件提供了 COM 接口,因此可以使用 C 或 C++ 语言来调用...
java调用.NET webAPI httpclient-4.2.5.jar httpclient-cache-4.2.5.jar httpcore-4.2.4.jar httpmime-4.2.5.jar fluent-hc-4.2.5.jar commons-codec-1.6.jar
以下是如何使用Java调用Windows命令行的详细步骤和注意事项: 1. **调用外部程序** - 使用`Runtime.getRuntime().exec()`方法创建一个子进程来执行指定的可执行程序。例如: ```java Process process = Runtime....