我正在尝试为我的用户编写一个批处理文件,以便在他们的Vista机器上运行UAC.该文件正在重写其hosts文件,因此需要以管理员权限运行.我需要能够向他们发送一封包含.bat文件链接的电子邮件.所需的行为是,当他们右键单击文件并说"打开"时,他们将获得其中一个UAC对话框,使屏幕变暗并强制他们回答是否要授予应用程序以管理员身份运行的权限.相反,他们只是在命令行窗口看到"拒绝访问".
这可能有不同的做法吗?
是否可以从Java应用程序中请求提升权限?我看到的建议似乎都集中在运行外部可执行文件或设置清单以请求启动权限.例如,这些小程序不可用.有没有办法从正在运行的应用程序请求提升?
我需要使用Preferences API的systemRoot功能,但是如果启用了UAC,则由于Windows上缺少权限而失败.我正在尝试查找弹出UAC提示的技术细节,并提升我的权限以允许systemRoot更新成功.
我通过以下URL浏览了StreamGobbler
我理解它的用法和原因.但是,所涵盖的场景只是那些可能存在来自命令/处理错误的输出的场景.
我没有找到使用StreamGobbler来处理输入的任何场景.例如,在mailx,我必须指定电子邮件的正文,我已按以下格式完成
Process proc = Runtime.getRuntime().exec(cmd);
OutputStreamWriter osw = new OutputStreamWriter(proc.getOutputStream());
osw.write(mailBody);
osw.close();
Run Code Online (Sandbox Code Playgroud)
如何通过StreamGobbler处理,或者不需要通过它处理它.
我在java中创建了一个小程序,它从注册表中读取应用程序的UninstallString,然后使用
Process p = Runtime.getRuntime.exec("command")
Run Code Online (Sandbox Code Playgroud)
卸载此应用程序.但是这项任务需要管理员权限.
在Windows Vista,7和8上,通过使用以下命令"java -jar java_app.jar"创建bat文件,右键单击bat文件并以管理员身份运行,可以正常工作.
但在XP上,我的帐户是管理员帐户,但仍无法以管理员身份运行java程序.
谁能为我提供一些可以解决这个问题的解决方案?
我有一个使用Swing作为GUI库的桌面Java应用程序。我必须在此应用程序中安装一个安装程序,但是它必须具有管理特权。
我在用
Process p = Runtime.getRuntime().exec(pathToTheExeInstaller);
Run Code Online (Sandbox Code Playgroud)
安装程序。但是在没有管理员权限的情况下运行它时会出现以下错误:
当在NetBeans中使用clean and build时,是否有一种方法可以在生成的jar文件的上下文菜单(右键单击菜单)中以管理员身份运行:
我正在开发一个java应用程序,我必须从中运行xyz_setup.exe安装程序.我尝试了以下代码
String command = "C:\\xyz_setup.exe";
Runtime.getRuntime().exec(command);`
Run Code Online (Sandbox Code Playgroud)
但它抛出了以下错误
java.io.IOException: Cannot run program "C:\Users\NewtonApples\Downloads\idman614.exe": CreateProcess error=740, The requested operation requires elevation
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at java.lang.Runtime.exec(Runtime.java:615)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at upendra.OpenExternalApplication.main(OpenExternalApplication.java:19)
Caused by: java.io.IOException: CreateProcess error=740, The requested operation requires elevation
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:189)
at java.lang.ProcessImpl.start(ProcessImpl.java:133)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
... 4 more
Run Code Online (Sandbox Code Playgroud)
谁能建议我怎么做?
我目前正在开发一个学习工具,其中组合了几个便携式系统管理工具(主要是 sysinternal 工具)。我有一个带有 JButton 的简单框架。
我想做什么?- 除了我的java文件之外,我还有一个exe文件(例如,让我们使用config.exe),它需要提升的权限才能运行。
用户单击按钮后,我该如何执行该文件?
编辑:我刚刚找到了另一种方法。我从我的 jar 文件制作了一个 exe,然后转到兼容性选项卡并选中“始终以管理员身份运行”感谢您的所有帮助。
所以我们有一个作为Windows服务运行的java进程.它需要执行命令Runtime.getRuntime().exec(command).它执行的命令需要UAC.这是在Windows Server 2008上,听起来你无法为单个可执行文件禁用UAC,那么有没有其他方法可以使这个工作?
java ×8
uac ×4
runtime.exec ×3
windows ×2
admin-rights ×1
batch-file ×1
command-line ×1
outputstream ×1
permissions ×1
security ×1