如何在java中杀死任务管理器?

在我的程序中,如果任务管理器正在运行,我想杀死它。我试过这个:


 private static final String TASKLIST = "tasklist";

private static final String KILL = "taskkill /F /IM ";

if(isProcessRunning("Taskmgr.exe")){

    // TODO code application logic here

    killProcess("Taskmgr.exe");

}

这是我的isProcessRunning()方法:


public static boolean isProcessRunning(String servicename) throws Exception {

    Process p = Runtime.getRuntime().exec(TASKLIST);

    BufferedReader reader = new BufferedReader(new InputStreamReader(

        p.getInputStream()));

    String line;

    while ((line = reader.readLine()) != null) {

        System.out.println(line);

        if (line.contains(servicename)) {

            System.err.println(line);

            return true;

        }

     }

     return false;

}

和killprocess()方法:


public static void killProcess(String serviceName) throws Exception {

    Runtime.getRuntime().exec(KILL + serviceName);

}

但任务管理器仍在运行。我能做什么?


qq_笑_17
浏览 110回答 3
3回答

catspeake

好吧,杀死任务管理器你需要管理员权限。为此下载这个。现在将任何一个文件 Elevate.exe 或 Elevate64.exe 复制到您的 Java 项目源路径中。然后Runtime.getRuntime().exec("src//Elevate64.exe TASKKILL /F /IM Taskmgr.exe");现在它会提示是或否。单击是.... 和 BOOM

有只小跳蛙

try{    Process p = Runtime.getRuntime()    p.exec("taskkill /F /IM taskmgr.exe /T")catch(*Enter applicable exception type here*  e){    System.err.println("Caught Exception: " + e.getMessage());}没有必要明确检查任务是否正在运行。如果未找到,则不会执行该命令。尝试杀死它,如果出现异常,则在 catch 块中考虑它。

呼唤远方

您是否尝试过更改流程的案例?例如:if(isProcessRunning("taskmgr.exe")){    killProcess("taskmgr.exe");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java