воскресенье, 16 марта 2014 г.

Выясняем все о том кто запустил ваш процесс.

Если вы хотите узнать кто запустил ваше приложение, то это очень просто сделать двумя способами. Если вас интересует только домен и имя пользователя, то достаточно использовать класс Environment:
1
2
string domainName = Environment.UserDomainName;
string useName = Environment.UserName;

Если же вы хотите знать больше, то вначале надо добавить в проект ссылку на библиотеку System.Security, а потом сделать вот так:
1
WindowsIdentity identity = WindowsIdentity.GetCurrent();

И можно узнавать подробности:
1
2
identity.IsAnonymous //Анонимный аккаунт?
identity.IsSystem //Системный аккаунт

А дописав еще пару строк можно узнать запущена ли ваша программа пользователем с правами администратора или нет:
1
2
3
4
5
6
public static bool IsAdmin()
{
    WindowsIdentity identity = WindowsIdentity.GetCurrent();
    WindowsPrincipal principal = new WindowsPrincipal(identity);
    return principal.IsInRole(WindowsBuiltInRole.Administrator);
}

Ну и, наконец, можно узнать пути ко всем папкам текущего использую функцию Environment.GetFolderPath, принимающая в качестве параметра тип необходимой папки из перечисления Environment.SpecialFolder. Например, AppData.

1
string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Комментариев нет:

Отправить комментарий