我的C++应用程序存储了一些常见的用户数据%CSIDL_COMMON_APPDATA%\Company\Product
.我想确保Users组对此文件夹具有写入权限,而在Vista上则没有.我该怎么做?
使用ATL自己弄清楚...
CDacl oDacl; AtlGetDacl(strFolder, SE_FILE_OBJECT, &oDacl); oDacl.RemoveAces(Sids::Users()); // Remove existing "Users" access oDacl.AddAllowedAce(Sids::Users(), FILE_ALL_ACCESS, CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE); AtlSetDacl(strFolder, SE_FILE_OBJECT, oDacl);
当然我的真实代码包含错误检查.