windows Java:以管理员身份运行
Java中是否有方法要求系统控制管理员功能。
当然不必这样做:右键单击exe->;以管理员身份运行
我想要的是有一个来自UAC的框架,就像在WindowsVista或Windows7中一样
或者在从jar生成exe时必须进行一些设置
你可以在下面搜索框中键入要查询的问题!
Java中是否有方法要求系统控制管理员功能。
当然不必这样做:右键单击exe->;以管理员身份运行
我想要的是有一个来自UAC的框架,就像在WindowsVista或Windows7中一样
或者在从jar生成exe时必须进行一些设置
# 1 楼答案
如果您可以从windows CMD批处理文件运行所需的任何内容。。 您可以从java应用程序中创建一个批处理文件(甚至是动态的),并启动它。 我让它工作,所以我的java程序启动它,它会弹出正常的windows UAC提示给用户,然后运行命令,如果他们选择是的话
下面是一个线程,用于处理在windows批处理文件中请求UAC访问: How to request Administrator access inside a batch file
注: ProcessBuilder可能有点棘手,使用StreamGobbler来处理输出对我来说很有效: Handle Input using StreamGobbler
# 2 楼答案
最简单的方法是使用包装器启动JVM,然后提升包装器。我使用一个简单的NSIS安装程序脚本和UAC插件来实现这一点:
# 3 楼答案
您必须创建一个清单文件,指定应用程序需要管理员权限。您可以将清单包含在exe中,也可以将其作为单独的文件(yourapp.exe.manifest)保存
http://msdn.microsoft.com/en-us/library/bb756929.aspx
# 4 楼答案
如果您打算启动javaw,那么ZippyV的答案很好。如果纯java代码被UAC阻止(例如试图将文件写入特权目录),那么这就是您需要执行的操作
但是,如果您试图启动外部的东西,但只是使用提升,您可以绑定一个提升命令的exeHere is one
# 5 楼答案
您可以使用windows程序提升您的权限。程序将显示UAC提示符,然后您将拥有管理员权限
http://jpassing.com/2007/12/08/launch-elevated-processes-from-the-command-line/
然后,您可以运行以下命令:
# 6 楼答案
我将解释如何获得提升的java应用程序
节目。exe是一个只需调用记事本的示例。exe
比你有更高的计划。 我建议您-您需要转换为二进制包装器,如Launch4j或Parcel 如果创建自定义安装程序(由JavaSwing或Awt制作),则可以单击
我希望您有好的解决方案:)-如果您使用Linux或Mac OS X,那么您需要使用Parcel二进制包装器或其他包装器,如果您知道
//编辑Kaptkaos的好主意 比你写的简单:
不要忘记使用启动进程的
''
和""
if-jar <filename>.jar
from-参数。注意不要忘记——若使用工作目录和jar文件,则必须在工作目录示例中您可以看到带有参数的提升java:)
致以最良好的祝愿