日期:2014-05-20  浏览次数:20616 次

困惑:调用外部程序并杀掉外部程序的问题
用如下办法启动一个进程
    Runtime   rt   =   Runtime.getRuntime();
    Process   proc   =   rt.exec( "C:\\Program   Files\\ADSL拨号王\\HelloNet.exe ");
试图用下边代码序杀掉该进程
    Thread.sleep(5000);
    proc.destroy();  
但是怎么也杀不掉该进程,后来发现,HelloNet.exe执行后,进程名字自动变为HNMainUI.EXE,不知道为什么会变,这样变了之后,我该怎么杀掉他?

(该问题用了另外一个比较笨的办法解决,
    String   command   =   "taskkill   /f   /im   HNMainUI.EXE ";
    Runtime.getRuntime().exec(command);
    但是总觉不通用,非常死
  )


还有一个问题,我同样的办法调用另外一个拨号程序,启动杀掉都可以,但是不能断掉网络,请问怎么解决?

希望各位高手给个较为详细的解答,分不够还可以加!先谢谢了



------解决方案--------------------
拨号上网后在进程管理器里面杀掉拨号程序,看看网络断开吗?
有可能不只一个进程,而是很多个在提供网路支持。你要杀的是不是其他的进程

先找到该进程再说
------解决方案--------------------
流氓软件最常采用的一招就是这样,把程序名变来变去。
------解决方案--------------------
mark!
------解决方案--------------------
用pskill调用它来删除
------解决方案--------------------
用JAVA 去操作系统进程是种不明智的选择,肯定会受到束缚
------解决方案--------------------
up