gpt4 book ai didi

JAVA:无法以管理员身份启动批处理文件(具有以管理员身份运行配置的文件)

转载 作者:行者123 更新时间:2023-12-02 01:07:01 24 4
gpt4 key购买 nike

我想用 JAVA 启动一个批处理文件。因此,我创建了该文件的快捷方式并配置以管理员身份运行。我测试了批处理文件,它运行成功。但是,当我用 java 运行它时,批处理文件不以管理员身份运行并且请求被拒绝。在java源代码中,我尝试使用配置为以管理员身份运行的快捷方式来调用cmd.exe的快捷方式。并且java源以管理员身份打开命令行成功。请帮我。这是我的代码:

package testfp;

import java.io.*;

public class RunCommand {

String command,result;

public RunCommand(String command) {
this.command = command;
run();
System.out.println(this.result);
}

public void run() {
try
{
Process process = Runtime.getRuntime().exec("cmd /c start C:\\Users\\minhlc\\Desktop\\test\\CMD");
// Fail to open with Administrator
// Process process = Runtime.getRuntime().exec("cmd /c start C:\\Users\\minhlc\\Desktop\\test\\start_apache");
// process.destroy();
// Process process = Runtime.getRuntime().exec("cmd /c start");
// kill_process();
BufferedReader br = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
try {
while ((line = br.readLine()) != null) {
this.result = this.result + "\n" + line;
}
} finally {
// br.close();
};
} catch (IOException e)
{
e.printStackTrace();
}
}

public void kill_process()
{
try {
Runtime.getRuntime().exec("taskkill /f /im cmd.exe") ;
} catch (Exception e) {
e.printStackTrace();
}
}

public String get_result() {
return result;
}
}

感谢您的阅读。

最佳答案

您需要以管理权限运行java进程。使用“以管理员身份运行”打开命令行,然后

java -jar you_app.jar

关于JAVA:无法以管理员身份启动批处理文件(具有以管理员身份运行配置的文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57720647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com