您的位置:首页 > 编程语言 > Java开发

EXE4J生成的exe文件自动请求管理员权限(UAC)

2016-10-12 13:03 274 查看
最近用JAVA写了一个SWING的小程序,需要修改本地的Hosts文件,因为Hosts文件属于系统文件,只有管理员权限才可写,而我用EXE4J打包的exe程序是不会自动请求管理员权限的,也就是WIN7之后的系统UAC。而java中并没有Visual Studio打包时的UAC执行级别参数设置,如下图



这时候就要用到Resource Hacker这个工具来对打包好的EXE文件进行修改

下载地址:

链接: http://pan.baidu.com/s/1sk3TVaP 密码: hpgh

一、打开下载好的Resource Hacker软件



二、将需要修改的EXE文件拖入Resource Hacker界面内打开,然后打开左侧菜单的清单选项



三、在左侧的编辑区内找到下图中蓝色部分,也就是requestedExecutionLevel标签

EXE4J打包的exe文件中,level属性值应该默认是asInvoker,是不会请求管理员权限的



四、将level属性的值改成 level=”requireAdministrator” 修改完成后一定要点击开始按钮进行编译,修改才能生效

如下图:



五、编译完成后直接点击关闭Resource Hacker界面 ,弹出提示框,选择是,并覆盖保存之前的EXE文件





六、最后,右键刷新一下,看看原来的EXE文件上是不是多了一个UAC小盾牌!



有的话说明修改成功!

博客地址:http://terrylovesolar.com/exe4j-auto-request-uac
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息