我无法以编程方式在Windows 7 64位工作站上启动Exe。如果UAC关闭,那么将从bean启动Exe。如果启用了UAC,则java控制台将报告CreateProcess error=740, The requested operation requires elevation
。
java bean正在使用
在工作站上启动ExeProcess p = rt.exec(args);
Have also the ProcessBuilder class.
ProcessBuilder p = new ProcessBuilder(new String[] { "cmd.exe", "/C", m_sProg, m_sParams});
感谢。
答案 0 :(得分:0)
您的.exe似乎需要通过嵌入式清单进行提升。要启动它,您必须使用ShellExecute或ShellExecuteEx WinAPI函数。
您可以尝试使用start
命令克服此限制:
new ProcessBuilder(new String[] { "cmd.exe", "/C", "start", m_sProg, m_sParams});
如果您可以更改.exe的启动,那么从清单中删除requestedExecutionLevel
可能是一个选项,除非.exe确实需要管理员权限才能运行。