在WINDOWS 7中怎样在在源代码中加入让程序以管理员身份权限运行的语句?
发布网友
发布时间:2022-04-23 06:25
我来回答
共3个回答
热心网友
时间:2023-10-05 07:47
方法1:用微软的Application Compatibility Toolkit 4.1里的Compatibility Administrator制作一个兼容性数据库文件,扩展名为.sdb, 然后把这个sdb和应用程序一起分发。
基本步骤是
制作SDB
1. 在Compatibility Administrator 里新建的sdb下(打开就有),建立new fix(工具栏上的new fix)。对话框出现,输入名字。
2. 兼容平台选None (这个Application Compatibility Toolkit 4.1是为xp服务的,所以没有XP选项)
3. 然后是需要设置的兼容性,选择”RunAsAdmin”, 在列表中间的位置。需要滚动一下。
4. 选择exe文件名,下一步
5. 如果有可能存在同名exe, 选上“FileSize”, “CheckSum”, 以便使这个兼容性设置针对的确实是你的文件。
6. 如果有多个EXE要设,可以重复1-5步骤。
7. 保存sdb文件,保存时输入的数据库名字会出现在目标PC的“添加删除程序”中。
发布SDB
1. 在安装目标PC的Vista系统中,以管理员权限启动cmd(在开始菜单的“命令行提示符”图标上按右键,然后以管理员权限执行)
2. 输入 “sdbinst 你的sdb文件名” 例如 sdbinst test.sdb . 按回车。Sdbinst是系统自带的安装sdb的程序。XP里就有.
安装你的应用程序后,就能以管理员方式执行。
方法2:用户自己动手,或者Vista自动检测,或者你修改注册表。
用户自己动手的方法是在Exe文件的属性对话框的“兼容性”标签中,选中“以管理员权限执行此程序”复选框。
此外,如果你的程序CreateProcess反复失败的话,有时Vista会冒出个“程序兼容性助手”,自动给你这个程序在注册表里加一项。
手动修改注册表其实和上2者一样。键为
HKEY_CURRENT_USERS\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layer 键下面的值的名字是程序的全路径,值数据是“RunAsAdmin”.(兼容性助手写入的值是ElevateCreateProcess)
热心网友
时间:2023-10-05 07:48
可以么?如果可以的话那些病毒加上这些代码不就可以自动执行了??这个应该是必须手动的吧
等待其他的回答
楼下的回答的是什么啊 楼主明明说的是在源代码中添加代码 是代码!!弄了一大堆操作的软件 真是无语
热心网友
时间:2023-10-05 07:48
关掉或降低UAC
使用Runas.exe 启动你的程序。
将文件名最后加上Setup字样。(