2011-08-31 82 views
0

我無法在Windows 7 64位工作站上以編程方式啓動Exe。如果UAC關閉,則Exe將從該Bean中啓動。如果UAC處於打開狀態,則java控制檯報告CreateProcess error=740, The requested operation requires elevationWindows 7中的Java CreateProcess錯誤UAC

一個Java Bean推出使用

Process p = rt.exec(args); 

Have also the ProcessBuilder class. 
ProcessBuilder p = new ProcessBuilder(new String[] { "cmd.exe", "/C", m_sProg, m_sParams}); 

感謝工作站上的EXE。

回答

0

您的.exe似乎需要通過嵌入式清單提升。要啓動它,您必須使用ShellExecuteShellExecuteEx WinAPI函數。

你可以嘗試使用start命令來克服這種限制:

new ProcessBuilder(new String[] { "cmd.exe", "/C", "start", m_sProg, m_sParams}); 

如果你可以改變你的.exe文件啓動,然後刪除從清單requestedExecutionLevel可能是,除非.exe文件的選項確實需要管理員權限才能運行。