Java 调用 Windows API 可能性的实现
在 Google 输入 java call win32api 的第一个结果
http://www.jinvoke.com/calling-the-win32-api-from-java
就是我需要的答案。呵呵
看看这个吧
java版任务管理器
java版注册表编辑器
Calling the Win32 API from Java
首先从 http://www.jinvoke.com/calling-the-win32-api-from-java 将 jinvoke下载回来
将 jinvoke.jar 解压到 磁盘任意目录,配置环境变量
如果当前用户中没有 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.java 往 complie.bat 拖动
如果你的java软件包没问题就会出现这个画面
至于windows api能做什么,我就不说了。
csdn 示例下载地址
http://download.csdn.net/source/1623746
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
public static void getSysProp(){
Properties props = System.getProperties();
Set<Entry<Object,Object>> res = props.entrySet();
Iterator it = res.iterator();
while (it.hasNext())
{
Map.Entry e = (Map.Entry)it.next();
......
// 过滤特殊字符
public static String StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
S ......