在MyEclipse里面调用Dll的方法。报Exception in thread "main" java.lang.UnsatisfiedLinkError

w111222j 2011-10-17 10:07:01
让别人用C帮我写的一个DLL,用来传递一个进程名称,然后杀掉和进程名字相同的进程。

我在CMD里面用javac的方式运行
D:\>javac Process_.java

D:\>java Process_
======
start
[System Process]
System
smss.exe
csrss.exe
wininit.exe
csrss.exe
services.exe
lsass.exe
lsm.exe
winlogon.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
ZhuDongFangYu.exe
svchost.exe
spoolsv.exe
svchost.exe
Connectifyd.exe
raysat_3dsmax2011_32server.ex
raysat_3dsmax2011_64server.ex
mysqld-nt.exe
isqlplussvc.exe
TNSLSNR.EXE
oracle.exe
java.exe
tenpaycert.exe
svchost.exe
vmnat.exe
WLIDSVC.EXE
vmware-authd.exe
WLIDSVCM.EXE
conhost.exe
vmnetdhcp.exe
WmiPrvSE.exe
taskhost.exe
dwm.exe
explorer.exe
WkSvMgr.exe
WanDouJiaHelper.exe
360Tray.exe
concentr.exe
WPService.exe
wfcrun32.exe
TSVNCache.exe
SearchIndexer.exe
svchost.exe
wmpnetwk.exe
svchost.exe
svchost.exe
QQ.exe
TXPlatform.exe
Maxthon.exe
Maxthon.exe
Maxthon.exe
svchost.exe
myeclipse.exe
LiveUpdate360.exe
ctfmon.exe
Maxthon.exe
QQExternal.exe
audiodg.exe
WmiPrvSE.exe
cmd.exe
conhost.exe
SearchProtocolHost.exe
SearchFilterHost.exe
taskhost.exe
java.exe
关闭notepad.exe成功

能够关闭成功。
Process_.java的代码为:

public class Process_ {
static
{
System.loadLibrary( "Process_" );
}
public native static int TerminateProcess(String name);

public static void main(String[] args){
System.out.println("======");
System.out.println( "start ");
Process_ pro = new Process_();
int n = Process_.TerminateProcess("notepad.exe");
if (n==0)
{
System.out.println( "关闭notepad.exe成功");
}
else
System.out.println( "关闭notepad.exe失败");
}
}


可把这段代码拿到MyEclipse下面,点右键Run as --》 Java Application的时候报错。
Exception in thread "main" java.lang.UnsatisfiedLinkError:
com.up.load.Process_.TerminateProcess(Ljava/lang/String;)I

我把Process_.dll放到librarypath下面去了,现在好像是找不到TerminateProcess这个方法,而不是找不到Process_这个类。

望高手解答,谢谢。
...全文
501 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
niwenbin416 2011-10-17
  • 打赏
  • 举报
回复
放到System32目录下
下载代码方式:https://pan.quark.cn/s/28492da20c79 依据所提供的文件资料,本资源将系统地探讨FPGA(即现场可编程门阵列)的核心概念、其在视频图像技术领域的入门及进阶知识要点,以及图像处理算法的实现方法。此外,还将对VIPBoardBig这一特定FPGA开发板的详细资料和使用途径进行深入剖析。 FPGA的入门与进阶学习主要涉及以下核心内容: 1. FPGA的基础概念:FPGA是一种能够通过编程进行配置的集成电路,主要目的是达成硬件逻辑的可重构特性。该类芯片由大量的可配置逻辑模块(CLB)、输入输出模块(IOB)以及可编程互连资源共同构成。 2. FPGA开发板与相关套件:FPGA开发板是一种用于FPGA芯片学习和测试的硬件平台,通常配备有基础的外设设备,例如LED指示灯、按键开关、LCD显示屏、串口通信接口等。套件则通常包含硬件板卡、技术文档、相关资源,以及可能的软件工具和示例代码集。VIPBoardBig即为本教程选用的FPGA开发板,拥有特定的硬件配置和功能特性。 3. FPGA的开发流程:FPGA开发一般涉及硬件描述语言(HDL)的设计与仿真阶段,常用语言为Verilog或VHDL。随后,借助综合工具将设计蓝图转化为FPGA内部的逻辑网络,最终通过编程设备将配置文件传输至FPGA芯片中,从而实现设计的预期功能。 4. 外设开发与设计工作:涵盖LED显示控制、键盘驱动、LCD显示驱动、UART串口设计等基础外设的开发任务。这部分知识将引导学习者掌握如何在FPGA平台上管理和运用这些基础外设。 5. VGA驱动显示与字符显示测试:VGA(Video Graphics Array)是一种视频传输接口标准,能够支持640x480...

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧