提升程序权限

时间:2022-01-23 14:58:41
   环境VS2010+Win7 我调用CreateDirectory创建目录 GetlastError函数返回错误码为5说访问被拒绝 于是乎我看系统设置中唯一能创建成功的打开保护的磁盘 然后我将另一个磁盘打开权限 然后调试一下 没有问题创建成功 然后欢天喜地运行之后 又提示没有创建成功 还是那个访问拒绝错误 于是我想起了提高代码权限的这个想法
  想请教各位高手 如何做 如果我的想法不对 我该怎么样做

10 个解决方案

#1


程序是否有Administrator权限,添加manifest提升UAC

#2


编译好的程序 ,右键以管理员权限运行。

#3


权限是由调用者来决定的吧

#4


先右键以管理员权限运行下,看看能不能创建成功,如果成功,果断更改工程设置:Project->Properties->Linker->Manifest File下UAC Execution Level改成requireAdministrator,这样你的程序就有了管理员权限。

#5


回复 以上 各位 我是管理员权限 UAC Execution Level也是requireAdministrator 

#7


悲剧的我改成 if (!CreateDirectoryW(pathbuf, &sc) && GetLastError() != ERROR_ACCESS_DENIED ) 功能可以了 但是被毙掉了 不合理 ~~~~~~~

#8


你在哪个目录下创建的?
一般应该没问题吧

#9


引用 6 楼 visualeleven 的回复:
http://hi.baidu.com/coderui/blog/item/5016de7e033d123d0cd7daad.html


请教 我加了提升代码权限的代码了 还是不行 应该就不是这个问题吧 另外我写了个测试程序创建目录时可以创建成功的 还是原来代码中的问题应该是

#10


问题已解决 另开贴求教一些疑惑

#1


程序是否有Administrator权限,添加manifest提升UAC

#2


编译好的程序 ,右键以管理员权限运行。

#3


权限是由调用者来决定的吧

#4


先右键以管理员权限运行下,看看能不能创建成功,如果成功,果断更改工程设置:Project->Properties->Linker->Manifest File下UAC Execution Level改成requireAdministrator,这样你的程序就有了管理员权限。

#5


回复 以上 各位 我是管理员权限 UAC Execution Level也是requireAdministrator 

#6


#7


悲剧的我改成 if (!CreateDirectoryW(pathbuf, &sc) && GetLastError() != ERROR_ACCESS_DENIED ) 功能可以了 但是被毙掉了 不合理 ~~~~~~~

#8


你在哪个目录下创建的?
一般应该没问题吧

#9


引用 6 楼 visualeleven 的回复:
http://hi.baidu.com/coderui/blog/item/5016de7e033d123d0cd7daad.html


请教 我加了提升代码权限的代码了 还是不行 应该就不是这个问题吧 另外我写了个测试程序创建目录时可以创建成功的 还是原来代码中的问题应该是

#10


问题已解决 另开贴求教一些疑惑