`
wugaokai
  • 浏览: 62125 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Jinvoke

阅读更多

--------------------------------------------Java Call Win32 API-----------------------------------------

下载地址:http://www.jinvoke.com/calling-the-win32-api-from-java

 

简单的例子:

 

import com.jinvoke.JInvoke;
import com.jinvoke.NativeImport;

public class HelloWindows {
	
	@NativeImport(library="User32",function="MessageBox")
	public static native int showMessage(int hwnd,String text,String caption,int type);
	
	public static void main(String[] args){
		JInvoke.initialize();
		showMessage(0,"Hello welcome","hello-world",0);
	}	
}

 

 

注解方式有三种:

1 @NativeImport 连接上本地DLL,调用DLL内的方法

2 @NativeStruct represent a native structure (a C struct) as a Java class.

3 @Embedded define fixed-size strings and arrays in structs.

 

--------------------------------@NativeStruct例子--------------------------------------------------

Struct C :

 

typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;

 

 java.class:

 

@NativeStruct
public class SYSTEMTIME {
public short wYear;
public short wMonth;
public short wDayOfWeek;
public short wDay;
public short wHour;
public short wMinute;
public short wSecond;
public short wMilliseconds;
}

 

-------------------------------------@Embedded例子------------------------------------------------------

Struct C:

 

typedef struct _SHFILEINFO {
HICON hIcon;
int iIcon;
DWORD dwAttributes;
TCHAR szDisplayName[MAX_PATH];
TCHAR szTypeName[80];
} SHFILEINFO;

 java.class

 

@NativeStruct
public class ShFileInfo {
public int hIcon;
public int iIcon;
public int dwAttributes;
@Embedded(length=260)
public StringBuffer szDisplayName = new StringBuffer(260);
@Embedded(length=80)
public StringBuffer szTypeName = new StringBuffer(80);
}
 

 

 

分享到:
评论

相关推荐

    jinvoke调用Windows API

    包里有jinvoke所需的JAR包和jinvoke源码,和自己下载的一些学习jinvoke的文档和例子,在这里总结在一块,方便大家的学习!

    jinvoke.jar与jinvoke.dll文件及其Demo.rar

    jinvoke.jar与jinvoke.dll文件及其Demo,只适用于window32位。现在用JNA比较多

    JNA.jar-JNative.jar-jinvoke.jar-dll创建-JAVA调用-VC调用

    包含jna.jar,JNative.jar,jinvoke.jar,VC++创建DLL例子,VC++调用DLL例子,JAVA、JNA、JNative、jinvoke调用DLL例子

    JInvoke资源包、源代码、doc文档打包

    JInvoke资源包、源代码、doc文档、例子、教程一并打包上传,关于JInvoke的资源不用再去其他地方找了

    jinvoke.jar

    之前windows有一个invoke,可以很轻松的调用windows api,这让很多java编程人员很羡慕,现在jinvoke作为一个开源项目,正好在次突破,希望有助与你

    J/Invoke 2010 jinvoke jni 天涯浪子

    J/Invoke enables Java developers to easily invoke native methods (such as the Win32 API or C-based Windows DLLs and Unix dynamic libraries) with pure Java code. Unlike error-prone JNI programming ...

    jnative jinvoke

    java 调用dll用到的工具,两个开源包 jar,

    java 调用windows API

    使用jinvoke.jar可以直接调用windows的api函数,如果用jni的话需要写c代码和参数转换

    java swing 客户端反调试

    使用java swing 写的客户端程序,防止调试程序运行漏洞 也可以调用windows api zip包里面包含 jinvoke.jar 工具类,里面可以对32和64位的jdk使用,有两个dll,自行替换就可以 程序都是通过测试的,并且是上生产了

Global site tag (gtag.js) - Google Analytics