以编程方式更改vista文件权限

时间:2009-11-24 17:19:31

标签: visual-c++ mfc windows-vista file-permissions

我想在我的应用程序的“TrustedInstaller”下添加一些文件到C:\windows\XXX(在Windows中受Windows保护的文件夹)。我不想替换任何文件,因此Windows资源(以前的文件)保护没有问题。 我有代码将“所有权”更改为当前登录的管理员,但是,我没有任何线索如何以编程方式设置其文件权限。我正在使用VC ++ / MFC进行开发。

由于

2 个答案:

答案 0 :(得分:2)

我不是100%确定你真正想要的东西(你希望它看起来像TrustedInstaller安装文件吗?)但是看看使用SetNamedSecurityInfo的这个example。您通常需要为您的文件构建一个自由访问控制列表(DACL),但是您可以使用GetNamedSecurityInfo“借用”另一个具有您要克隆的权限的文件,因为从头开始构建DACL会更加烦人。

答案 1 :(得分:1)

一种简单的方法是只使用系统函数运行icacls,无论您需要哪种参数。请注意,它位于cstdlib中(#include< cstdlib>)

system("icacls <params>");