java - 打开任务管理器并使用 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,请求的操作需要提升
解决方案
有多种方法可以实现这一目标。@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;
}
}
推荐阅读
- ruby - Ruby Oauth2.0:client_secret_post 不适用于 ory hydra
- postgresql - 无法在新数据库中创建表
- android - 文件未保存在特定类型的 Android 设备上
- javascript - 我想知道函数返回的中/高级使用,我看到了,我知道它是如何工作的,但不太确定?
- java - 构造函数和属性中的final
- reactjs - 如何使用 Firebase 功能将标头添加到 nodemailer 的 axios POST
- php - 请求页面返回 403 Bad Behavior
- python - str 包含 datetime64 pandas 的等价物
- r - `match.call()` 和 `sys.call()` 从封闭环境的函数中调用
- visual-studio - 带有 azure appcenter 的移动应用程序的诊断日志