我有一个动态链接库,它具有某些功能,这需要UAC提升特权,以便正常工作。我将清单文件更改为level=requireAdministrator,但是当我在Java语言中加载dll时,该功能将失败。
注意,加载dll是可行的,但是本机方法的实现就像没有提升的特权一样执行(甚至没有要求我使用UAC提升的特权)。
安装程序由一个可运行的jar文件(使用Eclipse导出)和本地库文件在同一目录中组成。理想情况下,我希望有人只需双击jar文件即可运行程序。
有没有办法让这个特定的jar文件以提升的权限启动JVM (而不是总是或从不以提升的权限启动JVM )?或者需要外部程序才能使用提升的权限启动JVM?
发布于 2011-04-01 13:53:35
您不能更改正在运行的进程的权限。当JVM加载你的DLL时,它已经在运行了。
您必须在清单中使用requireAdministrator运行.exe启动器。当用户双击它时,系统将提示权限提升,一旦您的进程启动,您可以启动JVM,它将继承提升的权限。
https://stackoverflow.com/questions/5509117
复制相似问题