C# Verificar privilégios administrativos

Há algum tempo atrás precisei de verificar dentro do meu programa se ele estava sendo iniciado com privilégios administrativos, a solução é bem simples para esse caso !

Mãos na massa !

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Security.Principal;
 
namespace Admin
{
    static class Program
    {
        /// 
        /// The main entry point for the application.
        /// 
        [STAThread]
        static void Main()
        {
            try
            {
                
                //Ligando os Recursos
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
 
                //Istanciando e catando identidades
                WindowsIdentity Identidade = WindowsIdentity.GetCurrent();
                WindowsPrincipal Principal = new WindowsPrincipal(Identidade);
 
                //Verificando
                if (!Principal.IsInRole(WindowsBuiltInRole.Administrator))
                {
                    MessageBox.Show("Usuário sem Privilégios administrativos");
                    Application.Exit();
                }
                else
                {
 
                    MessageBox.Show("Usuário com Privilégios administrativos");
                    Application.Run(new Form1());
 
                }
                                
            }
            catch (Exception ex)
            {
                if (ex != null) 
                {
 
                    MessageBox.Show("Erro ao verificar seus dados !");
 
                }
            }
                        
        }
    }
}

Esta ai... simples como a vida deve ser !
e vamu que vamuuu !!!

2 comentários:

Jonathan Stecker disse...

Show de bola cara!
Gostei!

Rodrigo Ferro disse...

Sim é algo bem simples e bastante útil...

Postar um comentário