Java:以管理员身份运行

2022-09-01 02:08:31

在Java中,有没有办法要求系统控制管理员功能。当然,无需执行:右键单击 exe ->以管理员身份运行。
我想要的是 UAC 有一个像 Windows Vista 或 Windows 7 一样的帧。

或者让我在从jar中制作exe时进行一些设置?


答案 1

您必须创建一个清单文件,该文件指定您的应用程序需要管理员权限。你可以将清单包含在 exe 中,也可以将其保留为单独的文件 (yourapp.exe.manifest)

http://msdn.microsoft.com/en-us/library/bb756929.aspx


答案 2

最简单的方法是使用包装器启动 JVM,然后提升包装器。我使用一个简单的NSIS安装程序脚本和UAC插件来执行此操作:

; Java Launcher
;--------------

; You want to change the below lines   
Name "my program"   
Caption "my program Launcher"    
Icon "iconfile.ico"    
OutFile "java launcher.exe"

; param below can be user, admin    
RequestExecutionLevel admin

!include UAC.nsh

SilentInstall silent
AutoCloseWindow true
ShowInstDetails show

Section ""    
  ; command to execute    
  StrCpy $0 'javaw -jar myjarfile'      
  SetOutPath $EXEDIR    
  Exec $0    
SectionEnd

推荐