我正在开发一个java项目。该项目需要管理员权限才能执行系统中的某个进程。为此,有什么办法在启动项目时给予管理员权限?有没有办法用java的管理员权限启动命令提示符?从java以管理员身份启动命令提示符(CMD)
1
A
回答
3
免责声明:我猜你问这个专门为Windows平台
有两种方法,我建议:
使用runas程序
这是最简单的方法,因为您实际上需要一个控制台窗口,密码提示看起来并不笨拙。另一方面,用户可能会发现将他的密码输入到控制台窗口中是可疑的。
使用CreateProcessWithLogonW API函数
这需要你使用一个Win32 Java库。 (我推荐JNA)。这是一个更多的工作,但它可能导致更好的用户体验,因为标准的Windows登录对话框。
1
您不能简单地请求管理员权限,也不能从未使用管理员权限启动的应用程序启动管理员命令行。这将是一个严重的安全问题。
相反,您可以检查您的应用程序是否以管理权限启动,如果不提示用户这样做(显示如何对其进行归档的方法)。
不幸的是,这种接缝是一个更大的问题,因为没有标准的方法来覆盖所有平台。但是这个线程给出了一些想法:Detect if Java application was run as a Windows admin
相关问题
- 1. 以管理员身份运行cmd以及命令?
- 2. 以管理员身份在Windows命令行中运行cmd
- 3. C#以管理员身份启动命令
- 4. 如何以管理员身份从地址栏打开命令提示符
- 5. 如何从命令提示符以管理员身份打开应用程序?
- 6. 如何使用批处理文件以管理员身份启动命令提示符
- 7. 以管理员身份通过java运行dos命令
- 8. Windows CMD批处理文件以管理员身份运行命令
- 9. 以管理员身份从cygwin/mintty运行命令
- 10. 如何从VBS以管理员身份执行PowerShell命令?
- 11. 如何以管理员身份通过java运行命令行命令
- 12. 如何以管理员身份运行cmd并将命令传递给它?
- 13. 如何从命令提示符下以“以管理员身份运行”运行应用程序?
- 14. 如何从Windows命令行以管理员身份运行命令?
- 15. 以管理员身份从IIS启动进程
- 16. 以管理员身份运行PowerShell命令 - 命令本身不会加载
- 17. Java:以管理员身份运行
- 18. 从win7上的命令行,我如何以管理员身份启动一个进程,使用提升的UAC
- 19. C++控制台应用程序提示“以管理员身份运行”以管理员身份运行?
- 20. 以C#管理员身份运行shell命令(manage-bde)
- 21. 以命令行管理员身份运行
- 22. Powershell和Python - 如何以管理员身份运行命令
- 23. 以PowerShell脚本中的管理员身份运行命令。 UAC
- 24. 运行命令以管理员身份与规格
- 25. 从powershell打开管理员命令提示符
- 26. “python”只能从命令提示符运行,因为管理员
- 27. 从命令提示符启动Visual Studio
- 28. 以C#参数的管理员身份运行CMD
- 29. 使用shell执行以管理员身份运行cmd Admin
- 30. 在PHP中以管理员身份运行cmd
相关:[如何在Windows上以管理员身份运行Java应用程序](http://stackoverflow.com/questions/1385866) – McDowell