为一个exe编写dll程序,这个exe运行的时候没有管理员权限,但是dll中的代码执行的时候又需要管理员权限,所以很纠结。
解决办法最终是通过注册表来实现的。
原理和步骤演示:
1.运行: regedit.exe
找到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags ,新建一项
2.添加一个字符串值
名称 :C:\Test\test.exe (exe的完整路径)
类型 : REG_SZ
数据 :RUNASADMIN
保存退出后,可以右键exe查看,这个时候exe的以管理员权限运行已经勾选上了,并且变成了灰色,不能取消。
OK 这样问题就变成了一个注册表的读写功能,大功告成。

本文介绍了一个在不具有管理员权限的exe中,如何通过注册表配置使其能够调用dll并获得管理员权限的方法。通过在注册表中设置特定键值,实现了exe以管理员身份运行dll代码的目标。
1698

被折叠的 条评论
为什么被折叠?



