Java中调用Windows API的方法
2016-07-28 18:01
489 查看
Java中调用Windows API的方法
要在Java中调用Windows API,最简单的方法就是使用JNative.jar中提供的接口。该库已经对Linux和Windows系统中的API进行了封装,例如对Windows,使用它里面的接口调用就和在Delphi等开发工具中的调用方法是一样的,因为函数的名字和参数都是一样的。下面说明其用法。
安装方法:将JNative.jar加到classpath中即可。
假如现在要给QQ的窗口发送消息,程序如下:
import org.junit.Test;
import org.xvolks.jnative.misc.basicStructures.HWND;
import org.xvolks.jnative.misc.basicStructures.LPARAM;
import org.xvolks.jnative.misc.basicStructures.UINT;
import org.xvolks.jnative.misc.basicStructures.WPARAM;
import org.xvolks.jnative.util.User32;
public class JNativeLearning {
@Test
public void sendMessage() throws Exception
{
HWND hWnd=User32.FindWindow("TXGuiFoundation", "QQ2010");
if(hWnd.getValue()>0){
System.out.println("窗口存在");
User32.SendMessage(hWnd, new UINT(0x10), new WPARAM(0), new LPARAM(0));
}else{
System.out.println("窗口不存在");
}
}
}
其它接口请参见其JavaDoc:http://jnative.free.fr/docs/
要在Java中调用Windows API,最简单的方法就是使用JNative.jar中提供的接口。该库已经对Linux和Windows系统中的API进行了封装,例如对Windows,使用它里面的接口调用就和在Delphi等开发工具中的调用方法是一样的,因为函数的名字和参数都是一样的。下面说明其用法。
安装方法:将JNative.jar加到classpath中即可。
假如现在要给QQ的窗口发送消息,程序如下:
import org.junit.Test;
import org.xvolks.jnative.misc.basicStructures.HWND;
import org.xvolks.jnative.misc.basicStructures.LPARAM;
import org.xvolks.jnative.misc.basicStructures.UINT;
import org.xvolks.jnative.misc.basicStructures.WPARAM;
import org.xvolks.jnative.util.User32;
public class JNativeLearning {
@Test
public void sendMessage() throws Exception
{
HWND hWnd=User32.FindWindow("TXGuiFoundation", "QQ2010");
if(hWnd.getValue()>0){
System.out.println("窗口存在");
User32.SendMessage(hWnd, new UINT(0x10), new WPARAM(0), new LPARAM(0));
}else{
System.out.println("窗口不存在");
}
}
}
其它接口请参见其JavaDoc:http://jnative.free.fr/docs/
相关文章推荐
- Java开发常用的代码片段
- 改善java程序之字符串
- Java——Thread线程基础知识学习
- Java 字符串{0}占位符的使用方法
- struts2国际化
- Spark java.lang.outofmemoryerror gc overhead limit exceeded 与 spark OOM:java heap space 解决方法
- Java清理_终结处理和垃圾回收(笔记)
- 11、Java并发编程:并发容器之CopyOnWriteArrayList
- JAVA中BigDecimal的字符化输出
- struts2上传下载
- java为什么定义的变量在main中不能用?
- Java编程:获取键盘输入的三种方法
- java-基础-util
- Java中return和finally的执行顺序
- 堆排序的Java代码实现
- 【Java学习】java线程-多线程理解
- 解决java下载csv中文乱码(加BOM头)
- Spring与MyBatis整合需要哪些包
- 各个版本eclipse官方下载地址
- Spring注解@Component、@Repository、@Service、@Controller区别