分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

最近由于项目的特殊需求,我们必须在程序调用window的dll。
开始我们用jni,后来由于调用的dll太多,而且很烦琐。所以,我们决定用开源的jawin调用。
jawin 可以对dll中的方法进行调用,也可以调用com中的方法.内部还提供了一个工具,直接对 com组件导出成 java的类,个人认为很方便。

下面是我们作的一个测试,很顺利便通过了。
1、下载jawin:http://jawinproject.sourceforge.net/。
2、配置:
    》将jawin.jar放于%JAVA_HOME%/jre/lib/ext下 。
    》将jawin.dll放于c:/winnt/system32下。否则将出现错误:COMException : no jawin in java.library.path;
    也可将jawin.dll放于每个项目目录下。

》至此在Editplus中调试Jawin/NJawin的例子,可以通过。 而在Eclipse中有时还会出上面的错误:COMException : no jawin in java.library.path。
   》在Eclipse中,菜单->window->preference->Java->installed JREs 将原来的remove,重新建一个指到你的java sdk目录。 
   》 ok了。
 3、程序测试:

》调用 dll,dll 的方式不需要导出了,直接调用就可以了,下面是下载的包中提供的一个例子:
     》我在win2000下,测试通过。
/*
 * Created on Dec 22, 2005
 *
 */
import org.jawin.FuncPtr;

import org.jawin.ReturnFlags;

/**
 * @author gf  mail to gf@163.com
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class GfJawinTest {

public static void main(String[] args) {

try {

FuncPtr msgBox = new FuncPtr("USER32.DLL", "MessageBoxW");

msgBox.invoke_I(0, "Hello From a DLL", "From Jawin", 0, ReturnFlags.CHECK_NONE);

} catch (Exception e) {

e.printStackTrace();

}

}

}

转自:http://www.blogjava.net/gf7/archive/2005/12/22/25041.html

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

一个简单示例 利用jawin完成调用window中dll的调用相关推荐

  1. java播放声音类和一个简单示例

    java播放声音类和一个简单示例 播放声音的类 复制代码 代码如下:  import java.io.File; import java.io.IOException; import javax.so ...

  2. glibc版本查看_[译] 写一个简单的内存分配器(替换glibc中的malloc函数)

    本文介绍如何用c语言实现一个简单的内存分配器,可替换glibc中的 malloc(), calloc(), realloc(), free(). 这是一篇入门级别的文章,所以不会介绍所有的细节. 代码 ...

  3. 【指针编程】 编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标。)插入字符串。插入的位置和内容是从键盘输入

    [问题描述] 编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标)插入字符串.插入的位置和内容是从键盘输入 要求:子函数 void InsertStr(char ...

  4. java制作一个简单的画板_【Java】Thymeleaf一个简单示例

    Thymeleaf简单介绍 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymeleaf和Freemar ...

  5. IoC容器Autofac(2) - 一个简单示例(附demo源码)

    上篇文章中(IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc),我们用自己的方式实现了一个简陋的工厂类来实现IoC. 这里我们尝试使用Auotfac来替换我们的工厂类Mov ...

  6. Kerberos工作流:一个简单示例

    说明:内容来自<Hadoop安全-大数据平台隐私保护>,此处记录仅是便于快速回顾. 现在通过一个工作流示例,展示 Kerberos 大概是怎么工作的.首先定义所有出现的组件. EXAMPL ...

  7. Vue.js如何写一个简单的原生js模块,浏览器中的表现如何?

    2019独角兽企业重金招聘Python工程师标准>>> 浏览器正在逐步的支持原生JavaScript模块.Safari和Chrome的最新版本已经支持它们了,Firefox和Edge ...

  8. electron调用python_Electron中使用Node-ffi调用DLL

    相关网址 版本对比表Electron版本 NODE_MODULE_VERSION Node版本 v3.1.13 64 v10.2.0 v4.2.11 69 v10.11.0 v5.0.11 70 v1 ...

  9. pb调用c语言dll,PB调用C#编写的Dll类库

    在c# 中编写com组件,供PB调用实例 前言:c#中写的dll直接是不能被pb调用的,只有写成com组件才可以调用,所以用c#写dll时要注意. c#中新建类库 类库类型为通用类库,项目名为AddC ...

最新文章

  1. Ansible03-管理变量、加密、事实
  2. 加州理工《数据学习:机器学习课程》视频及ppt分享(附下载)
  3. Yahoo!网站性能最佳体验的34条黄金守则
  4. mysql添加枚举约束语句_mysql8 参考手册--MySQL如何处理约束
  5. 【KPGNN】运行错误与成功后的合集
  6. 301.inc.php,DeDeCMS默认首页及WWW域的301跳转
  7. 想深度探究数据库内核技术,墙裂推荐你看看这个
  8. 使用全备+binlog日志恢复数据库
  9. Unity 移动端的复制这么写
  10. java不带括号_java – 打印数组,不带括号和逗号
  11. 白帽子讲Web安全(纪念版)笔记
  12. 微信表情存入mysql是_Mysql存储微信Emoji表情问题
  13. PHP中 逗号,和句号.的区别
  14. 推荐信息安全书籍27本(含电子书)
  15. 【软硬件基础】X86和X64
  16. OGRE加载天龙八部场景
  17. HTML5 概述及基本语法
  18. Kali下卸载程序和安装程序的方法
  19. K8S故障排查指南:部分节点无法启动Pod资源-Pod处于ContainerCreating状态
  20. http和https分别是什么?

热门文章

  1. 详解GaussDB(DWS) explain分布式执行计划
  2. 2020HC大会上,这群人在讨论云原生…
  3. 一文快速掌握IPv6基础知识及使用指南
  4. js中如何在不影响既有事件监听的前提下新增监听器
  5. typecho 隐藏index.php,Typecho开启伪静态并隐藏index.php
  6. 红橙Darren视频笔记 任意控件实现拖动消失爆炸效果
  7. 设计模式笔记二十五:访问者模式
  8. python爬取知乎页面的LaTeX公式
  9. Typora主题定制及常用配置的设置方法
  10. * poj 3159 Candies 最短路 dijkstra堆优化