O artigo de hoje mostra como você pode executar sua aplicação VB .NET como administrador do sistema. |
O
Controle de Conta de Usuário (UAC - User Access Control )
é um recurso do Windows que pode ajudar você a manter o controle do computador,
informando-lhe quando um programa faz uma alteração que exige permissão em nível
de administrador. O UAC funciona ajustando o nível de permissão de sua conta de
usuário. Se você estiver executando tarefas que podem ser feitas por um usuário
padrão, como ler email, ouvir música ou criar documentos, terá as permissões de
um usuário padrão - mesmo se estiver conectado como administrador.
Quando forem feitas alterações no computador que exijam permissão em nível de administrador, o UAC o notificará. Se você for um administrador, poderá clicar em Sim para continuar. Se você não for um administrador, alguém com uma conta administrador no computador terá de inserir a senha para continuar.
Para executar a sua aplicação VB .NET com direitos de administrador do sistema faça o seguinte:
Nota: Este roteiro foi testado no VS 2013 e VS 2012 nas versões Express e no Windows 7. Para outras versões do Visual Studio e do Windows podem haver diferenças.
Abra o seu projeto no Visual Studio 2012 ou no Visual Studio 2013;
Clique com o botão direito sobre o nome do projeto e no menu suspenso clique em Properties;
A seguir selecione a guia Application e clique no botão - View Windows Settings:
Será aberto o arquivo app.manifest onde você deverá identificar a seguinte tag:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
Altere a tag identifica para:
<
requestedExecutionLevel level="requireAdministrator" uiAccess="false" />Salve e feche o arquivo app.manifest. (Este arquivo se localiza na pasta My Project do projeto);
Agora para verificar se a sua aplicação estará sendo executada com direitos de administrador vamos incluir o código abaixo no evento Load do formulário:
Nota : Não esqueça de incluir a declaração ao namespace : Imports System.Security.Principal
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim mPrincipal As WindowsPrincipal = New WindowsPrincipal(WindowsIdentity.GetCurrent)
If mPrincipal.IsInRole(WindowsBuiltInRole.Administrator) = False Then
MessageBox.Show("Você precisa executar a aplicação usando a opção 'run as administrator'", "É preciso ser uma administrador", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
MessageBox.Show("Você pode executar a aplicação com direitos de administrador em modo elevado", "Administrador", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Sub
|
Outra opção seria criar a função abaixo e realizar a verificação no seu projeto:
Public Function IsUsuarioAdministrado() As Boolean
Dim isAdmin As Boolean
Try
Dim user As WindowsIdentity = WindowsIdentity.GetCurrent()
Dim principal As New WindowsPrincipal(user)
isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator)
Catch ex As UnauthorizedAccessException
isAdmin = False
Catch ex As Exception
isAdmin = False
End Try
Return isAdmin
End Function
|
Ao executar o seu programa será apresentada a notificação do Windows:
E a seguir a mensagem referente ao nosso código implementado no evento Load do formulário confirmando que estamos executando como administrador:
Para evitar que a notificação do Windows apareça e que a sua aplicação seja sempre executada com direitos de administrador no Windows 7 a solução é embutir um arquivo app.manifest no seu arquivo .exe, mas isso é assunto para outro artigo.
João 6:35 Declarou-lhes Jesus. Eu sou o pão da vida; aquele que vem a mim, de modo algum terá fome, e quem crê em mim jamais tará sede.
João 6:36 Mas como já vos disse, vós me tendes visto, e contudo não credes.
João 6:37 Todo o que o Pai me dá virá a mim; e o que vem a mim de maneira nenhuma o lançarei fora.
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
http://technet.microsoft.com/en-us/library/cc731416%28v=ws.10%29.aspx
http://windows.microsoft.com/pt-br/windows/what-is-user-account-control#1TC=windows-7