DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: kevin20240329
今日帖子: 44
在线用户: 21
导航: 论坛 -> 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},也不行。

请问各位高手大侠,应该怎么办才行呢?
----------------------------------------------
-
作者:
男 dlfsystem (dlfsystem) ★☆☆☆☆ -
盒子活跃会员
2019/7/29 9:01:13
1楼: 修改注册表
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2019/7/29 9:40:52
2楼: 第一种是规范做法,第二种是 旧版本垃圾做法。
不成功是 操作系统问题,和开发工具,毫无关系。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 abea (abea) ★☆☆☆☆ -
盒子活跃会员
2019/7/29 10:22:06
3楼: @dlfsystem 修改注册表也要管理员权限的啊。主要是想程序运行起来直接是管理员权限。

@wang_80919 是操作系统把这个功能封死了?

----------------------------------------------
-
作者:
男 draculamx (draculamx) ▲▲▲▲△ -
普通会员
2019/7/29 11:31:05
4楼: 在exe上单击右键,“获取管理员权限”,不行么??还是说你的程序要在用户不知情的情况下,获取管理员权限?
----------------------------------------------
C++ builder 用户前来摸鱼。。。
作者:
男 abea (abea) ★☆☆☆☆ -
盒子活跃会员
2019/7/29 12:43:49
5楼: @draculamx  就是想程序运行的时候,自己就获得管理员权限。 


----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
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文件
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2019/7/29 17:59:53
8楼: 楼上的,看清楚,人家不用垃圾 D7。
不需要你的垃圾方法。

如果,不得不用 垃圾 D7,人家楼主也早就会这种办法了。人家 已经说得很清楚了。用过了。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 abea (abea) ★☆☆☆☆ -
盒子活跃会员
2019/7/29 20:19:59
9楼:  @lsuper 那要做两个程序么?一个启动后,用管理员权限调用主程序?
----------------------------------------------
-
作者:
男 xuchuantao (暗黑天使) ★☆☆☆☆ -
普通会员
2019/7/29 20:28:46
10楼: 你是如何判断不成功的?UAC提示可能被关了
----------------------------------------------
按此在新窗口浏览图片
作者:
男 abea (abea) ★☆☆☆☆ -
盒子活跃会员
2019/7/29 22:38:56
11楼: @xuchuantao 两个方面判断没有。 
1) 没有盾牌标志。
2) 程序里面用摄像头dspack那个,用管理员权限才能取得摄像头信息。

----------------------------------------------
-
作者:
男 xlonger (xlonger) ★☆☆☆☆ -
普通会员
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}

编译后就是不行。也不知道哪里出问题了。
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
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真的很伟大很方便。
----------------------------------------------
-
作者:
男 yayongm (昵  称) ★☆☆☆☆ -
盒子活跃会员
2019/7/31 15:06:14
17楼: 使用垃圾D7写垃圾程序的路过:
http://www.moonserver.cn/mhs/blog-style-1.pp
----------------------------------------------
弱小和无知不是生存的障碍,傲慢才是!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行269.5313毫秒 RSS