我想完全重置刚刚创建的文件的读/写权限,以便Administrators组具有完全权限,而用户组只具有读取和执行权限(就像管理员创建文件一样)。因此,如果程序由管理员运行,则将创建该文件并且管理员将拥有完全权限,但用户将只具有读取和执行权限。如果程序由没有管理员权限的用户运行,则相同。我使用https://stackoverflow.com/a/696357/4220162中的代码进行了少量更改(grfAccessMode设置为REVOKE_ACCESS,pOldDACL设置为SetEntriesInAcl中的NULL)。问题是如果程序是由没有管理员权限的用户运行的,我可以在安全选项卡的文件属性中看到以下设置:系统 - 完全访问权限,管理员 - 完全访问权限,用户 - 读取和执行,[创建的用户的名称]文件] - 完全访问。
长话短说 - 如何删除创建文件的用户的权限?因此,如果程序是由没有管理员权限的用户运行的,则会创建文件,但无权写入文件。