Clipper On Line • Ver Tópico - REGKey: Colocando seu aplicativo rodando como Administrador.
Página 1 de 1

REGKey: Colocando seu aplicativo rodando como Administrador.

MensagemEnviado: 02 Set 2014 17:24
por rochinha
Amiguinhos,

Neste REGKey voce configura um aplicativo e diretorio para ser executado sem aquelas perguntas chatas, "Deseja executar blablabla..."
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags]
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Arquivos de programas\\MeuSistema\\SISTEMA.EXE"="RUNASADMIN"
"C:\\Arquivos de programas\\MeuSistema\\INDEXA.EXE"="RUNASADMIN"
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\C:]
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\C:\Arquivos de programas]
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\C:\Arquivos de programas\MeuSistema]
"sistema.exe"="RUNASADMIN"
"indexa.exe"="RUNASADMIN"

REGKey: Colocando seu aplicativo rodando como Administrador.

MensagemEnviado: 02 Set 2014 19:43
por Pablo César
Ahhh Muito boa dica Rochinha !

Obrigado por compartilhar. :)

REGKey: Colocando seu aplicativo rodando como Administrador.

MensagemEnviado: 11 Set 2014 10:52
por julianocf
Grande Rochinha, ótima dica! :D

Só vou adicionar uma observação para quem usa essa dica em um programa executado de uma unidade de rede mapeada e com UAC ativado, quando for buscar pelo diretório do programa, será retornado no modo UNC (\\server\C\programa) e não Z:\Programa;

Att,
Juliano

REGKey: Colocando seu aplicativo rodando como Administrador.

MensagemEnviado: 12 Abr 2015 22:09
por clodoaldomonteiro
Rochinha,
Tem como colocar isso direto no instalador?
No innosetup por exemplo?

REGKey: Colocando seu aplicativo rodando como Administrador.

MensagemEnviado: 13 Abr 2015 16:46
por rochinha
Amiguinho,

Veja o exemplo:
[Setup]
...

[Languages]
Name: "brazilianportuguese"; MessagesFile: "compiler:languages\BrazilianPortuguese.isl"

[Run]
...

[Icons]
...

[Files]
...

[code]
var
  path:String;

procedure UAC(ativar:Boolean);
var
  versao:Cardinal;
  valor:Cardinal;
begin
  versao:=GetWindowsVersion() shr 24;
  if versao=6 then
  begin
    valor:=0;
    if RegQueryDWordValue(HKLM,'Software\Microsoft\Windows\CurrentVersion\Policies\System','EnableLUA',valor) then
    begin
        if (valor<>0) and (not ativar) then
           RegWriteDWordValue(HKLM,'Software\Microsoft\Windows\CurrentVersion\Policies\System','EnableLUA',0);
        if (valor<>1) and (ativar) then
           RegWriteDWordValue(HKLM,'Software\Microsoft\Windows\CurrentVersion\Policies\System','EnableLUA',1);
    end;
  end;
end;

function getPath(Param: String):String;
begin
  Result:=path;
end;

function InitializeSetup():Boolean;
begin
  path:='none';
  UAC(False);
  //if RegQueryStringValue(HKLM,'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{D79922B6-22F2-49B8-ABE0-6F572932C6EF}_is1','Inno Setup: App Path',path) then
  //begin
  //  if  CompareText(path,'none')<>0 then
      Result:=true
  //  else
  //  begin
  //    MsgBox('Nenhuma instalaçao do FENIX 10 foi encontrada! Esta atualizaçao será abortada!', mbError, MB_OK);
  //    //abort();
  //  end;
  //end
  //else
  //begin
  //  MsgBox('Nenhuma instalaçao do FENIX 10 foi encontrada! Esta atualizaçao será abortada!', mbError, MB_OK);
  //  //abort();
  //end;
end;

procedure DeinitializeSetup();
begin
  UAC(True);
  //MsgBox('Atualizaçao Finalizada!',mbInformation, MB_OK);
end;

REGKey: Colocando seu aplicativo rodando como Administrador.

MensagemEnviado: 18 Mai 2016 18:30
por fladimir
Rochinha fiquei na dúvida se isso q vc postou aki é relacionado a este outro tópico deste link... sobre rodar como Adm o sistema e no caso qual a relação disso com UAC?

Pelo q eu entendi neste tópico vc abrange a questão de já instalar desabilitando o UAC e deixando pra rodar como Adm é isso?

[]´s

REGKey: Colocando seu aplicativo rodando como Administrador.

MensagemEnviado: 18 Mai 2016 19:00
por rochinha
Amiguinhos,

A solução proposta define diretamente no registro que uma aplicação deva ser considerada como de uso elevado.

Só vai depender se o Windows estiver de bom humor e permitir a execução já elevada sem reiniciar.