java – 使用提升权限在其自己的目录中启动.exe

我的问题非常简单,我想在自己的目录中启动.exe但具有提升权限/权限.
我知道之前提出的这个问题,但我找不到解决问题的正确方法.

的确,我第一次尝试这个:

String workingDir = "C:\\TEST\\";
String cmd = workingDir + "game.exe";
Runtime.getRuntime().exec(cmd,null,new File(workingDir));

我收到以下错误:

CreateProcess error=740,The requested operation requires elevation

然后我尝试了这个:

ProcessBuilder builder = new ProcessBuilder(
    new String[] {"cmd.exe","/C","C:\\TEST\\game.exe"});
Process newProcess = builder.start();

它运行但不在自己的目录中.我该如何解决这个问题?

最佳答案
我想知道这是否会奏效:

String workingDir = "C:\\TEST\\";
ProcessBuilder builder = new ProcessBuilder(
    new String[] {"cmd.exe",workingDir+"game.exe"}
  );
builder.directory(new File(workingDir));
Process newProcess = builder.start();

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...