En donnant la demande élevée de contrôle de compte d'utilisateur

J'ai une application qui a besoin de l'élévation.

J'ai le code qui me permet de donner, mais l'application s'ouvre deux fois.. ce qui est de la question..

voici donc le code de Form1:

 public Form1()
    {
        InitializeComponent();

        WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
        bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);           

        if (!hasAdministrativeRight)
        {
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.UseShellExecute = true;
            startInfo.WorkingDirectory = Environment.CurrentDirectory;
            startInfo.FileName = Application.ExecutablePath;
            startInfo.Verb = "runas";
            try
            {
                Process p = Process.Start(startInfo);
            }
            catch (System.ComponentModel.Win32Exception ex)
            {
                return;
            }

        }

    }

et c'est le code des programmes.cs

       static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

sur le débogage je trouve que d'abord il exécute

Processus p = Processus.Start(startInfo);

qui ouvre l'application élévation boîte de dialogue, puis ouvre l'application

mais alors il va à la

Application.Run(new Form1());

dans main() et s'ouvre à nouveau l'application.

je ne veux pas ouvrir de nouveau l'application...

je suis nouveau sur ce est ce que je fais de mal et j'en ai besoin pour fermer le contrôle de compte d'utilisateur une fois ouvert..

grâce

Donc, cela a bien fonctionné pour moi.. depuis que j'ai été installés à partir de VS il m'a demandé de redémarrer l'application, je l'ai fait. ensuite, on me demande à qui il va faire des changements dans mon ordinateur.. mais j'ai vu dans les infos que ces changements n'étaient que des effets sur l'application en cours. donc je l'ai laissé. maintenant, cette application a une concentration élevée de contrôle de compte d'utilisateur de l'autorisation. j'ai couru anothe application et vu que je ne suis pas un administrateur, ce qui est désiré.

OriginalL'auteur user175084 | 2011-06-20