问题描述
现在要做个applet控制客户端的进程,请问可以吗?用那些API?客户机是Windows系统,主要是Applet载入的时候,把某个程序启动起来,然后Applet离开时,再把这个进程 杀掉,Applet在页面上其实是隐藏的,主要就实现上面功能就行了 问题补充:283433775 写道
解决方案
从理论上说通过 Runtime Process 这两个对象可以达到你所要的结果,但是事实上却不行,因为applet运行在安全模型中,浏览器是有所保护的,当访问到本地文件时会提示是否允许的。Java安全模型的第三个也是最重要的组件就是安全管理器。它的任务是对所有的“危险的方法”──即那些请求文件I/O、网络访问或那些想安装一个新的类装载器的类──进行验证。遇到这样的情况时,安全管理器可以对请求给予允许或否决。如,如果applet调用一个“读”方法,JVM就向安全管理器询问这个操作是否允许。如果applet是可信的,该请求就被安全管理器批准;否则即予以否决 Runtime rn=Runtime.getRuntime(); Process p=null; try{ p=rn.exec( "F:/testshp/test.exe "); }catch(Exception oe){ System.out.println(oe);
解决方案二:
如果在用户允许下的情况是应该是可以的,就相当于再ie下安装ocx控件一样,ocx就可以操作本地,但是必须是用户允许的。