Существует множество способов получить имя пользователя. Если вам нужен зарегистрированный пользователь, вы можете использовать Environment.Username
. Если вам нужен список всех пользователей в текущем домене, вы можете использовать следующий метод
public List<string> GetDomainUsers()
var usersInCurrentDomain = new List<string>();
SelectQuery sQuery = new SelectQuery("Win32_UserAccount", $"Domain ='{Environment.UserDomainName}'");
ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(sQuery);
foreach (ManagementObject mObject in mSearcher.Get())
{
product.Add(mObject["Name"]);
}
return product;
}
Если вы пытаетесь получить доступ к папке с документами других пользователей, вам нужно либо уменьшить ограничения на это. папка или действие с административными полномочиями.
В качестве альтернативы, если эта информация не является уникальной для каждого пользователя, вы можете sh поместить эту информацию в более нейтральную папку, например C: \ ProgramData \ MyApp или возможно, в одной из папок c. Это было бы намного проще.