|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/29 8:23:51 |
标题: |
win7以上操作系统,希望程序自己用管理员权限运行,不成功,求救 |
浏览:2332 |
|
加入我的收藏 |
楼主: |
开发环境,win8 +delphi xe 10.3.1 ,想让程序用管理员权限运行。 1)根据菜单设置: project/options/application/manifest execution level 选择了require administrator后,运行程序还是没有用administra tor权限运行啊。 2)用网上说的UAC.manifest 编译出UAC.res ,在工程文件中 {$R UAC.res},也不行。
请问各位高手大侠,应该怎么办才行呢?
----------------------------------------------
- |
作者: |
|
2019/7/29 9:01:13 |
1楼: |
修改注册表
----------------------------------------------
-
|
作者: |
|
2019/7/29 9:40:52 |
2楼: |
第一种是规范做法,第二种是 旧版本垃圾做法。 不成功是 操作系统问题,和开发工具,毫无关系。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/29 10:22:06 |
3楼: |
@dlfsystem 修改注册表也要管理员权限的啊。主要是想程序运行起来直接是管理员权限。
@wang_80919 是操作系统把这个功能封死了?
----------------------------------------------
-
|
作者: |
|
2019/7/29 11:31:05 |
4楼: |
在exe上单击右键,“获取管理员权限”,不行么??还是说你的程序要在用户不知情的情况下,获取管理员权限?
----------------------------------------------
C++ builder 用户前来摸鱼。。。
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/29 12:43:49 |
5楼: |
@draculamx 就是想程序运行的时候,自己就获得管理员权限。
----------------------------------------------
-
|
作者: |
|
2019/7/29 13:40:02 |
6楼: |
大家都用 WIN7,我们的就有 高级管理员 提权提示。 用户点否,你能如何? 一般没提示的,反而是好事。因为 用户连点否的机会都没有。
你的 WIN7 不提示,居然无权限,说明,比我们的 要高级啊。 我们没用过。无法帮您。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
lsuper (lsuper) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/29 14:19:01 |
6楼: |
代码自己检测权限,然后 shellexecute runas 跑 ~
----------------------------------------------
-
|
作者: |
ywo (ywo) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/29 16:30:23 |
7楼: |
D7试过可以的, 把编译的3个UAC文件放在工程文件夹中
.dpr工程文件中加{$R uac.res}
可以试下附件中的UAC文件
----------------------------------------------
-
|
作者: |
|
2019/7/29 17:59:53 |
8楼: |
楼上的,看清楚,人家不用垃圾 D7。 不需要你的垃圾方法。
如果,不得不用 垃圾 D7,人家楼主也早就会这种办法了。人家 已经说得很清楚了。用过了。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/29 20:19:59 |
9楼: |
@lsuper 那要做两个程序么?一个启动后,用管理员权限调用主程序?
----------------------------------------------
-
|
作者: |
|
2019/7/29 20:28:46 |
10楼: |
你是如何判断不成功的?UAC提示可能被关了
----------------------------------------------
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/29 22:38:56 |
11楼: |
@xuchuantao 两个方面判断没有。 1) 没有盾牌标志。 2) 程序里面用摄像头dspack那个,用管理员权限才能取得摄像头信息。
----------------------------------------------
-
|
作者: |
|
2019/7/30 13:11:01 |
12楼: |
用RES方法不行,说明是你自己方法不对吧。
否则,我们用这个方法成功那么多年的程序,难道是假的?
----------------------------------------------
我打的是酱油,而不是别的什么油。 我灌的是口水,而不是别的什么水。 我聊的折腾不是那个不折腾的折腾。 我说的阿娇不是那个邓玉娇的阿娇。 3个代表,6个为什么,9个肠胃炎。 D性强的领导干部都不喜欢热比娅。 我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/30 14:04:33 |
13楼: |
@xlonger 那我把过程贴出来,帮看看哪里有问题。先谢谢了。
UAC.manifest <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator"/> </requestedPrivileges> </security> </trustInfo> </assembly>
UAC.rc 1 24 UAC.manifest
brcc UAC.rc -fo UAC.res
在工程里面加上 {$R UAC.res} {$R *.res}
编译后就是不行。也不知道哪里出问题了。
----------------------------------------------
-
|
作者: |
|
2019/7/30 15:46:38 |
14楼: |
不显示盾牌很正常啊。 因为 UAC 关了,或者当前登录用户就是 amdin,都不显示的。 你的控件问题,也许你说的对。也许不对。不予评论。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/30 18:34:23 |
15楼: |
@wang_80919 谢谢。
----------------------------------------------
-
|
作者: |
abea (abea) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/7/30 18:57:53 |
16楼: |
谢谢各位大侠的帮助。经过查资料,各种研究和尝试,弄出来了小盾牌了。下面分享给需要的小伙伴。 整个过程如下。
UAC.manifest文件内容如下 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator"/> </requestedPrivileges> </security> </trustInfo> </assembly>
1)把UAC.manifest文件保存到项目根目录。 2)project-》options-》application-》manifest manifest file 那个下拉框选择custom, 最下面的 custom manifest 选择 UAC.manifest 3)clean build all, 4)检查一下程序图标,已经带有小盾牌了。
不用在用bcc32 编译了。只需要一个manifest文件。delphi真的很伟大很方便。
----------------------------------------------
-
|
作者: |
|
2019/7/31 15:06:14 |
17楼: |
使用垃圾D7写垃圾程序的路过: http://www.moonserver.cn/mhs/blog-style-1.pp
----------------------------------------------
弱小和无知不是生存的障碍,傲慢才是!
|
|