cfile fopen fopen_s win10下打开文件失败


vc程序在win10下面使用fopen 打开文件失败,在网上查 了下是因为UAC权限的问题如下:

 

由于windows vista win7 win8 win 10 添加了UAC权限,所以会导致 在系统盘下 创建文件失败。返回拒绝访问错误。

UAC是微软为了提高Windows的安全性,自Windows Vista开始引入的新安全机制。

传统的NT内核系统依靠access token来做权限处理,access token由当前用户所在的用户组的权限决定。而由于长期以来的不当使用习惯问题,几乎所有Windows上用户所在的组都是管理员。

在启用UAC之后,系统会额外引入一个filtered token,并且这个token默认只能按照Standard User的权限去执行。所以这个token也通常被叫做limited filtered token。

因为使用的vs程序可以直接在 Visual Studio 上进行提升UAC 权限:

 

上图是UAC 的默认级别:asInvoker (/level='asInvoker')

然后把该权限提升为:highestAvailable (/level='highestAvailable')

其他的设置不用动,这样在win10下就可以使用fopen打开成功了。

参考:https://blog.csdn.net/jiangdong2007/article/details/49287063


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM