如何在Windows中更改文件的所有权

我正在尝试通过Windows(Windows 7及更高版本)中的c ++更改文件的所有权给特定的用户。 我已经读过这个例子,但似乎没有太大的帮助。 我想能够创build一个像SetFileOwner(LPTSTR user, LPTSTR fileStr) ,将fileStr的所有者设置为指定用户的函数。

看来我需要一个SID来设置所有者,然后使用SetNamedSecurityInfo 。 是否有另一个选项,将允许我通过用户名设置所有权? 有没有办法从用户名得到SID(抱歉,如果这个问题是愚蠢的 – 我真的不知道如何Windows权利和所有权工作)?

要将用户名转换为SID,请使用LookupAccountName 。