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

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

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

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

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

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

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

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

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

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