Java调用了一个用VC编写的DLL进程,此进程负责实时显示网络摄像头的内容。
当我退出Java程序,再运行,摄像头就无法初始化了。我看了一下,是因为还有个javaw的进程在那,我手动结束此进程之后,才可以继续初始化摄像头。想请假大侠们,如何才能结束这个javaw进程啊?
我的类继承自JApplet类,其他帖的
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
方法不适用。
另外,我试着将此类改成继承自JFrame类,结果发现比原来还额外多出来一个Javaw进程,晕啊。请高手指点,谢谢。
Java程序如下:
public class MyVideo extends JApplet{
private static final long serialVersionUID = 1L;
public MyVideo(){
//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private native int showVideo(int a, int b);
private native void cameraInit();
static {
System.loadLibrary( "MyVideo ");
}
public static void main(String[] args) {
MyVideo app = new MyVideo();
app.cameraInit();
app.showVideo(50,10);
}
} ///:~
------解决方案--------------------
sf
------解决方案--------------------
JNI,TerminateProcess方法