2
我的C++應用程序在%CSIDL_COMMON_APPDATA%\Company\Product
中存儲一些常用用戶數據。我想確保用戶組擁有對這個文件夾的寫權限,而在Vista上它沒有。我該怎麼做?通過Win32 API更改文件夾安全權限
我的C++應用程序在%CSIDL_COMMON_APPDATA%\Company\Product
中存儲一些常用用戶數據。我想確保用戶組擁有對這個文件夾的寫權限,而在Vista上它沒有。我該怎麼做?通過Win32 API更改文件夾安全權限
使用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);
當然我真正的代碼中包含錯誤檢查想通了自己。
太糟糕了我不能將自己的答案標記爲「接受」 – Charles 2008-11-20 14:40:29