- 浏览: 141768 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
cnmcxiari:
Set ws = CreateObject("Wsc ...
bat启动java程序 可以隐藏cmd窗口 -
timer_yin:
不行啊 还是无法隐藏CMD窗口
bat启动java程序 可以隐藏cmd窗口
【转】java jawin api 中文 invoke方法
2009-09-14 0:42
jawin api关键字: jawinorg.jawin
Class FuncPtr java.lang.Object org.jawin.FuncPtr -------------------------------------------------------------------------------- public final class FuncPtr extends java.lang.Object 这个是用来调用标准DLL的类 Class for working with a reference to a single Win32 function exposed in standard DLL's. The Jawin Userguide - Calling a DLL Entry Point 这个文档可以当作如何使用JAWIN的参考 document should be consulted about how to use this class. 包括了一些常用的函数的调用方法 Contains several invoke_*-methods for some standard function signatures. 可以大概分成一下三种 These falls in three groups: invoke_I- 一些以INT做为标准返回的本地方法的调用函数 methods for native methods with a standard int as [retval] invoke_OI-一些最后参数作为[out]返回的本地方法的调用函数 methods for native methods with a last parameter being a [out] int invoke_S-一些返回数组的本地方法的调用函数(也可以被使用那些返回为STRUCTS的方法) methods for native methods returning a byte array (can be used for methods returning structs) Please notice that because of the TYPEDEF in C/C++ many method signatures are covered by the relatively few invoke_*-methods, as eg. HWND, HRESULT, LONG etc. all can be represented as Java int's. 请注意C/C++的返回信息的类型和JAVA不同,但是有一些类型可以用java的一些类型代替 比图 HWND,HRRSULT LONG等等 这些都能被表示成为java的int If working with a function that does not match one of the standard signatures, use the generic invoke(String, int, NakedByteStream, Object[], ReturnFlags). 如果使用的一些函数不能和标准的调用方法不匹配,请使用标准的调用方法 Version: 版本 1.3 $Revision: 1.3 $ Author: 作者: Stuart Halloway, http://www.relevancellc.com/halloway/weblog/ Morten Andersen, arosii_moa (at) users.sourceforge.net See Also: 例子: The Jawin Userguide - Calling a DLL Entry Point -------------------------------------------------------------------------------- Constructor Summary构造器描述 FuncPtr(java.lang.String dll, java.lang.String name) ? Method Summary void close() Call to "free" the function pointer. 释放函数指针 boolean equals(java.lang.Object o) protected void finalize() backup for releasing resources, by calling close().备份被释放的资源 int getPeer() int hashCode() int invoke_I(byte[] arg0, ReturnFlags flags) 调用需要一个数组指针作为参数的本地方法,返回整形变量 for calling native methods taking one pointer to a byte array, and returning an int. int invoke_I(int arg0, int arg1, int arg2, int arg3, ReturnFlags flags) 返回需要四个整形变量作为参数的本 地方法,返回一个整形变量 for calling native methods taking four int args, and returning an int. int invoke_I(int arg0, int arg1, ReturnFlags flags) 调用以两个整形变量作为参数的本地方法,返回一个整形变量 for calling native methods taking two int args, and returning an int. int invoke_I(int arg0, ReturnFlags flags) 调用以一个整形变量作为参数的本地方法,返回一个整形变量 for calling native methods taking one int arg, and returning an int. int invoke_I(int arg0, java.lang.String arg1, ReturnFlags flags) 调用以一个整形变量和以个字符串变量为参数的本地方法,返回一个整形变量 for calling native methods taking one int and one String args, and returning an int. int invoke_I(int arg0, java.lang.String arg1, java.lang.String arg2, int arg3, ReturnFlags flags) 调用以一个整形变量和两个字符串变量和一个整形变量作为参数的本地方法,返回一个整形变量(使用MessageBoxWDEMO的例子) for calling native methods taking one int, two String and one int args, and returning an int (used for MessageBoxW). int invoke_I(ReturnFlags flags) 调用没有变量的本地方法,返回一个整形变量 for calling native methods taking no args, and returning an int. int invoke_I(java.lang.String arg0, ReturnFlags flags) 调用以一个字符串作为参数的本地方法,返回一个整形变量 for calling native methods taking one String arg, and returning an int. int invoke_I(java.lang.String arg0, java.lang.String arg1, ReturnFlags flags) 调用以两个字符串变量的本地方法,返回一个整形变量 for calling native methods taking two String args, and returning an int. int invoke_OI(int arg0, int arg1, int arg2, int arg3, ReturnFlags flags) 调用以五个整形变量,其中前面四个作为[IN]参数,最后一个作为[OUT]变量的本地方法 for calling native methods taking five int args, where the first four are standard [in] parameters and the last int is a [out] parameter. int invoke_OI(int arg0, ReturnFlags flags) 调用以两个整形变量,其中最后个整形变量作为[OUT]变量 作为参数的本地方法, for calling native methods taking two int args, where the last int is a [out] parameter. int invoke_OI(int arg0, java.lang.String arg1, ReturnFlags flags) 调用以一个整形变量作为[IN]参数,一个字符串类型作为[OUT]参数的本地方法,返回一个整形 for calling native methods taking one [in] int, one [in] String and one [out] int arg. byte[] invoke_S(byte[] arg0, int arg1, int returnSize, ReturnFlags flags) 调用以一个数组指针一个整形变量作为参数的本地方法,返回一个制定大小的BYTE数组 for calling native methods taking one pointer to a byte array and one int args, and returning a byte array of a specified size. byte[] invoke_S(byte[] arg0, int returnSize, ReturnFlags flags) 调用以一个数组指针作为参数的本地方法,返回一个指定大小的byte数组 for calling native methods taking one pointer to a byte array, and returning a byte array of a specified size. byte[] invoke_S(int arg0, int returnSize, ReturnFlags flags) 调用以一个整形变量作为参数的本地方法,返回一个指定大小的BYTE数组(一般用于返回以个已知大小的STRUCT的情况) for calling native methods taking one int arg, and returning a byte array of a specified size (typically used when calling methods returning a struct with a known byte-size). byte[] invoke(java.lang.String instructions, int stackSize, int argStreamSize, byte[] argStream, java.lang.Object[] objectArgs, ReturnFlags flags) 调用那些不匹配invoke_*调用方法的本地方法 generic method for calling native methods that do not match any of the invoke_* methods. byte[] invoke(java.lang.String instructions, int stackSize, NakedByteStream argStream, java.lang.Object[] objectArgs, ReturnFlags flags) 一种调用使用了NakedByteStream构造输入参数流的invoke(String, int, int, byte[], Object[], ReturnFlags) 的快捷方法 shortcut method for calling invoke(String, int, int, byte[], Object[], ReturnFlags) when using a NakedByteStream for building the argStream-bytes. java.lang.String toString() Methods inherited from class java.lang.Object这些方法继承了ava.lang.Object clone, getClass, notify, notifyAll, wait, wait, wait ? Constructor Detail FuncPtr public FuncPtr(java.lang.String dll, java.lang.String name) throws COMExceptionParameters: 参数: dll - DLL动态库的名称(可以是只有名字的DLL动态库或者是完全地址的名字DLL动态库,注释,文件的后缀不是一定需要的准确的参数语法可以再MSDN文档库里找到 the name of a DLL (can be either just the name of the DLL or a full path - use backslashes (\)). Note, that the name is not case sensitive and that the ".dll"-part is optional. The exact syntax for the parameter can be found in the MSDN documentation for LoadLibrary. name - DLL动态库中可被见的本地方法 the function name exposed in the DLL. Throws: COMException - 当不能连接到DLL动态库或者找不到方法会发出错误 if unable to load the DLL or find the function. java.lang.NullPointerException - 当DLL动态库的名字是空会发出的错误 if either dll or name is null. |
发表评论
-
博客迁移说明
2014-05-08 14:49 570从今天起,此博客空间不再更新博客,全部博客迁移到http: ... -
reids学习(持续更新)
2013-08-28 15:38 644reids命令 文档查询网址http://redis.read ... -
quartz 定时器的动态加载和取消定时任务
2013-08-19 13:55 1465 -
myeclipse 安装jad插件
2013-05-09 11:23 5656转自:http://hunter090730.iteye.c ... -
Quartz的cron表达式
2013-01-09 15:50 678Quartz的cron表达式 来源:http://www ... -
有空需要看的几个项目
2012-12-27 17:06 711最好看看源码实现 1 Javassist学习使用(参考自:h ... -
apache学习
2012-11-05 11:05 689通过配置APACHE,使得被访问页面在客户端进行缓存,从而实现 ... -
性能分析工具
2012-10-16 10:52 1540jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: ... -
nginx使用
2012-10-11 18:43 720nginx/nginx.conf 配置讲解:http:// ... -
oracle 死锁情况
2011-12-28 08:51 699今天,数据库从原来的linux上,恢复到AIX上,然后PS/S ... -
webService学习
2011-11-15 13:14 771转载而来: webservice的原理及概念 1 we ... -
使用log4j将日志写入oracle数据库
2011-07-23 16:16 1029log4j.rootLogger=debug,Am log4j ... -
log4j使用(发邮件,写入不同表)
2011-08-01 15:40 1432log4j.rootLogger=DEBUG,DB,DB2,C ... -
MQ使用所得
2011-08-26 20:37 1046创建的连接,在写正常断开连接终止程序时,可以通过在类的重写de ...
相关推荐
Jawin 是一个 Java 绑定库,用于调用 Windows 的本地 DLL 文件,使得在 Java 应用程序中可以利用到原生 Windows 功能。本文将根据给定的“jawin使用步骤.txt”文件,详细介绍如何在 Java 环境下配置并使用 Jawin。 ...
在Java中,我们通常使用Java Native Interface (JNI) 来调用本地方法,但JNI的学习曲线较陡峭,而jawin则提供了一个更简单的解决方案。jawin将DLL中的函数封装为Java的静态方法,开发者可以通过这些静态方法直接调用...
Java和Windows交互神器——Jawin Jar包详解 在Java编程世界中,有时我们需要与Windows系统进行深度交互,比如调用系统API、控制硬件...通过学习和使用Jawin库,开发者可以更高效地解决那些需要底层系统支持的问题。
1. 引入JAWIN库:将JAWIN的jar文件添加到项目的类路径中。 2. 查阅JAWIN文档:了解哪些Windows API功能已经被封装为Java方法。 3. 直接调用:在Java代码中,通过JAWIN的类和方法调用相应的Windows API。 通过JAWIN...
1. **配置jawin**:在项目中引入jawin库,确保所有必要的DLL文件被正确地放置和加载,以便Java能够调用Windows API。 2. **启动Word**:使用jawin调用`CoCreateInstance`函数创建一个COM对象,该对象代表一个运行中...
1. **Java Native Interface (JNI)**:`jcom`和`jawin`都可能使用了JNI技术,这是一种让Java代码调用本地(操作系统特定)代码的机制。通过JNI,Java应用程序可以调用C/C++编写的COM接口。 2. **COM组件理解**:...
jawin-2.0-alpha1-src是一个开源项目,它的核心目标是将Java语言与Windows API深度整合,为开发者提供一个在Windows平台上使用Java进行系统级编程的解决方案。这个源文件包包含了项目的全部源代码,允许开发者深入...
Java和DLL(COM)互操作是跨平台编程中的一个重要主题,特别是在需要将Java应用程序与已有的Windows系统组件(如DLLs和COM对象...通过学习和熟练掌握Jawin,开发者可以更高效地集成现有的Windows基础设施,提升开发效率。
1. **Java Native Interface (JNI)**: JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。当Java程序需要调用C/C++编写的本地库(如DLL文件)或者使用特定硬件功能时,就会用到JNI。通过JNI,...
4. **示例应用**:例如,如果有一个DLL文件包含了一个计算圆面积的函数,开发者可以使用Jawin创建一个Java接口,通过JNI调用DLL中的函数,实现Java代码计算圆面积的功能。对于COM组件,如Microsoft Office的自动化...
1. **jawin框架**:Java调用Windows DLL的工具,它提供了一种在Java中直接调用Windows API的方法,使得Java开发者可以利用Windows系统的特性和功能。 2. **DLL调用**:理解DLL的工作原理和调用规范,如函数签名、...
2. **示例和教程**:可能包含了一些示例代码,展示了如何使用Jawin库进行实际的DLL和COM调用,这对于初学者理解和学习如何应用Jawin非常有帮助。 3. **文档**:可能包括了用户手册、API文档或者开发者指南,解释了...
1. **引入Jawin库**:首先需要将Jawin库加入到Java项目中,这通常通过添加JAR文件到项目的类路径中完成。 2. **注册COM组件**:在Java中,你需要使用Jawin提供的API来注册COM组件,这样Java就能识别和访问这些组件...
1. **Java与DLL互操作**:在Java中直接调用DLL函数通常需要使用JNI(Java Native Interface),这是一个复杂的接口,需要编写C/C++的本地代码。而Jawin则简化了这一过程,它允许Java代码通过简单的API调用DLL函数。...
本学习笔记将深入探讨三种主要的Java调用DLL的方法:JNI(Java Native Interface)、JACOB(Java COM Bridge)以及JAWIN,并介绍一些实用的DLL查看工具。 1. **JNI(Java Native Interface)**: JNI是Java平台的...
通过学习和研究Jawin,开发者不仅可以掌握JNI和COM的基础知识,还能提升解决复杂跨平台问题的能力。在实际项目中,Jawin可以用于调用已有的Windows服务,如数据库驱动、图形处理库或其他系统级功能,极大地扩展了...
`jawin.jar`和`jawin-stubs.jar`可能与jwain有关,`jawin.jar`可能是jawin库本身,而`jawin-stubs.jar`可能包含了与本地库交互的接口定义。 总的来说,这个压缩包包含了一系列用于Java与本地代码交互的库,特别是...
软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
这个源码包“jawin-2.0-alpha1-src”可能包含了实现这一目标的类库和示例代码。下面我们将深入探讨相关知识点。 1. **Java Native Access (JNA)**: JNA是Java平台上的一个开源库,它允许Java代码直接调用本机库(如...
1. `ICTCLAS.dll`:这是一个动态链接库文件,通常用于Windows环境,包含ICTCLAS的底层实现,可能用C++或类似语言编写,Java通过JNI(Java Native Interface)调用这些底层函数。 2. `SplitWord.html`:这可能是一个...