如何在Vista +上使用Java / JNA启动具有提升权限的应用程序来触发UAC

时间:2011-01-26 06:59:31

标签: java uac jna

我想以编程方式使用JNA从Java应用程序启动应用程序(第二个JVM)。

请注意,我不能:

  • 将Windows清单添加到JVM(对客户端的影响最小)
  • 使用右键单击“runas administrator”(在UAC对话框中单击“允许”将足够复杂)

我已经看到其他问题的答案说“使用exe”,如Java: run as administrator,但我想知道是否有人尝试使用JNA

1 个答案:

答案 0 :(得分:1)

要使用提升的权限启动应用程序,您必须使用ShellExecute并将"runas"作为lpOperation参数的值传递。此方法不要求您修改JVM以向其添加清单。这表现为用户右键单击应用程序并选择以管理员身份运行命令。

注意:在Windows XP上,您不应使用"runas",因为它会提示输入用户凭据。