Search code examples
c#shortcut

Get desktop path for all administrators in C#


I need to create desktop shortcuts to my app for all administratos in the system. I'm using the following code to get user list.

        var identifier = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
        GroupPrincipal group = GroupPrincipal.FindByIdentity(new PrincipalContext(ContextType.Machine), identifier.Value);

        foreach (Principal principal in group.Members)
        {
            Console.WriteLine(principal.Name);
        }

I need somehow to get desktop path for each user. Could you suggest me solution? Many thanks.


Solution

  • You'll want to pinvoke the SHGetFolderLocation function (http://msdn.microsoft.com/en-us/library/bb762180.aspx) which allows you to pass in an access token that represents the user you're interested in.

    No idea how difficult that will be though.