在做一个java项目的时候,调用dll文件的时候出现%1 不是有效的 Win32 应用程序.错误,经过查阅资料以及自己试验发现出现这种错误的一种可能是有的dll是32位的,但电脑系统是64位的,只要将对应dll文件替换成64位的就好了,查看dll位数的方法网上有说好多种,我用的是一个叫Depends Walker的工具,下面是下载地址
http://www.dependencywalker.com/
用这个工具打开一个dll文件,64位的dll会有一个64,没有的话就说明这是32位的dll文件,如下图(自己试验的,如有错误,希望大家指正)
其实这个工具更大的作用是查看某个dll文件依赖哪些dll文件,项目中如果出现类似dll缺少依赖的报错的时候就可以通过这个工具查看缺少哪些依赖,使用的话也是比较简单,打开一个dll文件,出现下图中黄色提示就说明缺少哪些dll文件了,然后去网上找对应dll文件下载,放到windows/system32目录下就好了,注意32下载32位的还是64位的。