Fir*_*Kun 5 java windows jar admin
我知道这里有很多问题要求相同,但在其中任何一个都找不到我想要的答案,这是一个特定的方法.
我知道(如果我错了,请纠正我):
.jar文件也会提升JVM以及依赖于JVM的所有其他进程,这意味着安全问题.我不想重新启动任何应用程序,我的目标是Java应用程序(.jar文件)从开始使用admin权限启动.如果为了得到它,用户将不得不点击一些UAC窗口,好吧,不在乎.
所以,我的问题(我无法得到和具体的答案阅读其他帖子几乎相同的事情).我怎样才能做到这一点?,我需要创建哪些文件,以及哪些内容?(.bat或.vbs),我可以将这些文件放在我的 .jar 文件中吗?,我需要在我的应用程序中实现哪些Java代码?
请尽可能使用该解决方案.其他帖子中的答案是或者过于模糊(谈论"可能的"解决方案,但没有提及具体和完整的解决方案),或解释太多而且没有给出具体的方法或代码.
Edu*_*djr 12
嗯,你有两个选择.
首先:以管理员身份打开CMD并打开jar:
首先以管理员身份运行命令提示
Start > cmd > right click > run as administrator.
Run Code Online (Sandbox Code Playgroud)
使用运行jar文件
java -jar c:\path\to\jar\file.jar
Run Code Online (Sandbox Code Playgroud)
第二步:创建一个要求管理员权限的.bat文件
@echo off
:: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:: BatchGotAdmin (Run as Admin code ends)
:: Your codes should start from the following line
java -jar c:\path\to\jar\file.jar
Run Code Online (Sandbox Code Playgroud)
请注意,您应该只更改最后一行.
我会将.jar和.bat文件放在同一个文件夹中,并且只将最后一行更改为:
java -jar ./file.jar
Run Code Online (Sandbox Code Playgroud)
根据此页面回答.
希望这可以帮助!
小智 0
比那更简单。使用默认类创建 jar 文件,这样如果执行 java -jar yourfile.jar,应用程序就会启动。给它执行权限。完成所有这些后,只需右键单击您的 jar 文件并选择“以管理员身份启动”(或类似的内容)。就是这样。
为了帮助用户,编写一个类来检查是否有管理员权限。如果没有,只需提示用户并指示他们执行上述操作。
| 归档时间: |
|
| 查看次数: |
14423 次 |
| 最近记录: |