Como o Controle de Conta de Usuário (UAC) afeta o aplicativo
O UAC (Controle de Conta de Usuário) é um recurso do Windows Vista no qual as contas de usuário têm privilégios limitados.Você pode encontrar informações detalhadas sobre o UAC nestes sites:
Guia passo a passo do Controle de Conta de Usuário do Windows Vista
Compreensão e configuração do Controle de Conta de Usuário no Windows Vista
Criando projetos após a habilitação do UAC
Se você criar um projeto do Visual C++ no Windows Vista com o UAC desabilitado e, posteriormente, habilitar o UAC, deverá limpar e recriar o projeto para que funcione corretamente.
Aplicativos que exigem privilégios de administrador
Por padrão, o vinculador do Visual C++ insere um fragmento do UAC no manifesto de um aplicativo com o nível de execução asInvoker.Se o aplicativo requer privilégios administrativos para ser executado corretamente (por exemplo, se ele altera o nó HKLM do Registro ou se grava nas áreas protegidas do disco, como o diretório do Windows), modifique seu aplicativo.
A primeira opção é modificar o fragmento do UAC do manifesto para alterar o nível de execução para requireAdministrator.O aplicativo solicitará que o usuário forneça as credenciais administrativas para que seja executado.Para obter informações sobre como fazer isso, consulte /MANIFESTUAC (insere informações UAC no manifesto).
A segunda opção é não inserir um fragmento do UAC no manifesto especificando a opção /MANIFESTUAC:NO do vinculador.Nesse caso, o aplicativo será executado virtualizado.Todas as alterações feitas no Registro ou no sistema de arquivos não persistirão depois que o aplicativo for encerrado.
Este fluxograma descreve como o aplicativo será executado, caso o UAC esteja habilitado e caso o aplicativo tenha um manifesto do UAC: