我知道这里有很多问题都在问同样的问题,但在任何一个问题中都找不到我想要的答案,这是执行此操作的特定方法。
我知道(如果我错了请纠正我):
- 为此,我需要与 Windows UAC 机制进行交互。
- 这不能用纯 Java 代码来完成,它需要批处理文件或 VBS 脚本的帮助。
- 如果不重新启动应用程序,则无法提升 Java 运行进程以获得管理员权限。
- 提升
.jar
文件也会提升 JVM 和依赖于 JVM 的所有其他进程,这意味着安全问题。
我不想重新启动任何应用程序,我的目标是 Java 应用程序( .jar
文件)从一开始就具有管理员权限。如果要得到它,用户将不得不点击一些 UAC 窗口,好吧,不用管。
所以,我的问题(我无法得到具体答案阅读其他帖子几乎询问同样的事情)。 我怎样才能做到这一点? , 我需要创建什么文件,以及包含什么内容? ( .bat
或 .vbs
), 我可以将这些文件放入我的 .jar
文件中吗? , 我需要在我的应用程序中实现哪些 Java 代码?
请尽可能提供最具体的解决方案。其他帖子的答案是,或者太模糊(谈论“可能”的解决方案,但不要提到具体和完整的解决方案),或者解释太多而没有给出具体的方法或代码。
原文由 FiroKun 发布,翻译遵循 CC BY-SA 4.0 许可协议
那么,你有两个选择。
首先:以管理员身份打开CMD,打开jar:
首先以管理员身份运行命令提示符。
使用运行jar文件
第二:创建一个请求管理员权限的 .bat 文件
请注意,您应该只更改最后一行。
我会将 .jar 和 .bat 文件放在同一个文件夹中,并且只将最后一行更改为:
基于 此页面 的回答。
希望这可以帮助!