eclipse3.6 中jawin调用dll抛出ComException

目前正在开发的一个项目,需要在java代码中调用windows服务,在群里讨论时有人提出java可以调用win api。google下,基本上用到的有3种:jni、jinvoke、jawin
  1. jni据说要写c代码,考虑到c基本上还给老师了,而且配置也比较复杂,不得已放弃了。
  2. jinvoke 30天试用 试用完毕收费2000美刀   无钱(使用倒是很简单,download包后,直接打开demo,里面N十个示例)
  3. jawin 免费开源  据说还不错

确定下使用jawin后,到http://jawinproject.sourceforge.net/下了最新的包。新建项目、导入包和demo后,用里面创建office的类试了试手感,不错,兴奋.....

接下来为项目做准备,试试调用dll  结果就悲剧了 抛出异常如下:

org.jawin.COMException: 0: ??×÷????ê
 at org.jawin.marshal.SharedStubs.invokeIGGI_I(Native Method)
 at org.jawin.FuncPtr.invoke_I(FuncPtr.java:303)
 at demos.HelloDll.main(HelloDll.java:30)
Exception in thread "main" org.jawin.COMException: 0: ??×÷????ê
 at org.jawin.marshal.SharedStubs.invokeIGGI_I(Native Method)
 at org.jawin.FuncPtr.invoke_I(FuncPtr.java:303)
 at demos.HelloDll.main(HelloDll.java:30)

开发环境及工具:
   xp、myeclipse9.0、jdk1.6.0_22
首先怀疑是自己jawin.dll文件copy问题,经确认不是;然后又怀疑是jawin包导入问题,结果也不是;难道是myeclipse问题..,接着在eclipse 3.6下试试,红旗依旧;接下来只好怀疑是jdk bug了(jdk有很多前科),依次尝试了jdk6 u20到最新的u23,青山不倒啊;下班休息。晚上用另外一台电脑继续试了下(myeclipse 6.5,jdk1.6.0_u21),居然ok。看来只好怀疑是盗版xp问题了 ,安装的东西太多,不舍得重装系统,犹豫一下午。继续下班。怒了,只好整整那台好的,看看他为什么行,jdk版本轮番上阵,很坚强很持久。考虑下myeclipse6.5版本有点老,所以同时下了个myeclipse9.0和eclipse3.6(没找到4的下载链接...),结果很挫,乱码异常一个不少的出现了。
经过两天在不同的机器上使用jdk6.0_u20、6.0._u21、6.0_u22、6.0_u23版本
eclipse3.3、 eclipse 3.6版本
测试:eclipse3.6及以eclipse3.6为内核的myeclipse9.0 使用jawin调用dll时抛出ComException 并出现乱码

转载于:https://my.oschina.net/zhongxhua/blog/11357

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值