打开任务管理器并使用Java代码处理其多个选项卡

时间:2019-07-12 10:21:34

标签: java

我想打开任务管理器,并仅通过使用核心Java来单击其选项卡,例如“进程”,“性能”,“应用程序历史记录”等。

尝试以

开头
public class Desktop1 {

    public static void main(String[] args) throws IOException {
        Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"Taskmgr.exe");
    }
}
  

线程“ main”中的异常java.io.IOException:无法运行程序“ C:\ WINDOWS \ system32 \ Taskmgr.exe”:CreateProcess错误= 740,请求的操作需要提升

1 个答案:

答案 0 :(得分:0)

有多种方法可以实现这一目标。 @mkane在评论中提到了最简单的方法。以编程方式,这可以通过以下方式实现: 向您的应用程序添加以下依赖项:

<dependency>
    <groupId>com.vnetpublishing.java</groupId>
    <artifactId>super-user-application</artifactId>
    <version>0.0.5</version>
</dependency>

现在,您可以使您的班级扩展SuperUserApplication类,并以以下方式覆盖其run()

public int run(String[] strings) {
    try {
        Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"Taskmgr.exe");
    } catch (IOException e) {
        e.printStackTrace();
    }
    return 0;
}

现在调用类run(...)的静态SU,传入扩展了SuperUserApplication的类的实例。这是一个完整的示例供您参考:

public class Main extends SuperUserApplication {
    public static void main(String[] args) {
        SU.run(new Main(), args);
    }

//    @Override
    public int run(String[] strings) {
        try {
            Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"Taskmgr.exe");
        } catch (IOException e) {
            e.printStackTrace();
        }
        return 0;
    }
}