Pergunta

Como solicito privilégios de administrador durante o tempo de execução para que o usuário receba o prompt para permitir ou desaprová -lo?

Foi útil?

Solução

Esta informação é gravada no manifesto do arquivo exe. Você deve usar o requestedExecutionLevel campo (mas não tenho certeza disso - tente configurá -lo como highestAvailable e veja se faz o que você precisa). Veja, por exemplo, aqui para obter mais informações (artigo um pouco mais antigo, mas ainda válido): http://blogs.msdn.com/b/cjacks/archive/2006/09/08/exploring-manifests-part-2-default-namespaces-and-uac-manifests em windows-vista.aspx

Existem ferramentas no Visual Studio que permitem incorporar seu próprio manifesto ou até editá -lo. Também há uma ferramenta escrita em Perl ( http://metacpan.org/pod/win32:::ex::manifest ).

EDIT: Veja este artigo para mais informações: http://www.codeproject.com/articles/66259/requesting-admin-approval-at-application-start.aspx

Outras dicas

Se você deseja isso em resposta a um botão (por exemplo, como 'Mostrar processos para todos os usuários' no gerenciador de tarefas), você deve revisar seu aplicativo usando o seguinte método

ShellExecute(0,L"runas",exepath,0,0,SW_SHOWNORMAL);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top