我希望我的批处理文件只能运行提升.如果未提升,请为用户提供一个选项,以便将批次重新启动.
我正在编写批处理文件来设置系统变量,将两个文件复制到Program Files位置,然后启动驱动程序安装程序.如果Windows 7/Windows Vista用户(启用了UAC,即使他们是本地管理员)在没有右键单击并选择"以管理员身份运行"的情况下运行它,他们将获得"拒绝访问"复制这两个文件并编写系统变量.
如果用户实际上是管理员,我想使用命令自动重启批处理.否则,如果他们不是管理员,我想告诉他们他们需要管理员权限才能运行批处理文件.我正在使用xcopy来复制文件,使用REG ADD来编写系统变量.我正在使用这些命令来处理可能的Windows XP机器.我在这个主题上发现了类似的问题,但没有任何关于将批处理文件重新启动为高架的问题.
是否可以从Java应用程序中请求提升权限?我看到的建议似乎都集中在运行外部可执行文件或设置清单以请求启动权限.例如,这些小程序不可用.有没有办法从正在运行的应用程序请求提升?
我需要使用Preferences API的systemRoot功能,但是如果启用了UAC,则由于Windows上缺少权限而失败.我正在尝试查找弹出UAC提示的技术细节,并提升我的权限以允许systemRoot更新成功.
正如标题所说,我想知道用Java(并且只有java)编写的程序是否有可能以管理员权限重新启动自己(最好是.jar),以本机Windows UAC的方式显示(为了制作它对用户来说更可靠),我完成了我的作业,并发现使用c ++和java之间的桥梁可以实现这一点,但我真的很想将它作为一个纯java项目来实现.
PS:在远程情况下,这个结果是不可能的,有人可以用另一种语言向我展示"简单"的方法(我的意思是,我找到了教程,但是我认为它不应该复杂化那么复杂).
P.S2:如果可以实现这一点,它是否可以在其他平台上运行(OS X,Linux)