在具有提升權限的自己的目錄中啟動 .exe (Launching .exe in its own directory with elevation priviledges)


問題描述

在具有提升權限的自己的目錄中啟動 .exe (Launching .exe in its own directory with elevation priviledges)

My question is pretty simple, I would like to launch a .exe in its own directory but with elevation rights/privileges. I know that this question as been raised before but I didn't found the right way for fixing my problem.


Indeed, I first tried this : 

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

I got the following error: 

CreateProcess error=740, The requested operation requires elevation

Then I tried this: 

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

And it runs but not in its own directory. How can I fix this please?

‑‑‑‑‑

參考解法

方法 1:

It appears you want to set

builder.directory(new File("C:\\TEST"));

which

  

Sets this process builder's working directory


Otherwise, it appears that for this to work you need to be Running as an Administrator.

https://www.google.co.uk/search?q=CreateProcess+error%3D740%2C+The+requested+operation+requires+elevation

方法 2:

I don't think it is possible to elevate privileges of a forked process. You should start the new process with the account that has the rights you need

方法 3:

I wonder if this will work:

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

方法 4:

Perhaps make a batch file with a cd and the command you want to run, then execute the batch file with cmd.

(by user1633807Peter LawreyCratylusMike TunnicliffeSean W.)

參考文件

  1. Launching .exe in its own directory with elevation priviledges (CC BY‑SA 3.0/4.0)

#exe #java #elevated-privileges






相關問題

lauch4j 你好世界程序 (lauch4j hello world program)

在具有提升權限的自己的目錄中啟動 .exe (Launching .exe in its own directory with elevation priviledges)

Я запампаваў файл .exe, але ён хутка зачыняецца пры адкрыцці (I've downloaded an .exe file but it closes quickly as it opens)

Ці добрая ідэя абараніць exe-файл з дапамогай os.path.exists? (Is it a good idea to protect a exe file using os.path.exists?)

如何將我的 Java 程序轉換為 .exe 文件? (How can I convert my Java program to an .exe file?)

有沒有辦法從 firefox 和 chrome 啟動 exe 應用程序 (Is there a way to launch exe application from firefox and chrome)

打開 .jar 文件時發生 java 異常 (a java exception has occured while opening .jar file)

錯誤,不運行程序(Windows) (error, not run program (windows))

如何從LabVIEW上編寫的應用程序(Exe)將數據返回到命令行界面? (How to return data to Command line Interface from Application (Exe) written on LabVIEW?)

pyinstaller --onefile 不會復制必要的文件 (pyinstaller --onefile doesn't copy necessary file)

系統找不到指定的路徑 - 批處理到exe (The system cannot find the path specified - batch to exe)

使用另一個 Python 文件的主 Python 文件(我想轉換為 .exe) (Main Python File Using Another Python File (I Want To Convert To .exe))







留言討論