为一个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 这样问题就变成了一个注册表的读写功能,大功告成。