Jump to content
Fivewin Brasil

RUNASADMIN - Configurar aplicação para rodar como Administrador.


rochinha

Recommended Posts

Amiguinhos,


Para rodar aplicativos como administrador a mesma precisa estar configurada no registro e descobri uma chave no registro que faz isto.


Portanto saquei a informação e posto aqui para que testem e vejam se funciona.


O conteúdo do arquivo .REG que pode ser executado via Prompt de comando é:


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\PASTA\\SISTEMA.EXE"="RUNASADMIN"
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\C:\PASTA]
"sistema.exe"="RUNASADMIN"


Onde sistema é o nome de seu aplicativo e pasta é o nome da pasta que esta o mesmo.


Pensando em automatizar criei uma função em meu sistema(Fivewin), que pode ser implementada por todos, na linguagem preferida.


Função RunASS:


FUNCTION RunASS( cCaminhoCompleto, lXPCompativel )
*****************************************************
* Grava o registro do aplicativo
*****************************************************
DEFAULT lXPCompativel := .F.
LOCAL cRunName, cRunKey, cRegKey
cRegRoot := HKEY_CURRENT_USER
cRegKey := "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
cRegValue:= ["]+cCaminhoCompleto+["="]+iif(lXPCompativel,"WINXPSP2 ","")+[RUNASADMIN"]
SETREGVAR( cRegRoot, cRegKey, "EnableLUA", cRegValue )
cRegValue:= ["]+cFileName(cCaminhoCompleto)+["="]+iif(lXPCompativel,"WINXPSP2 ","")+[RUNASADMIN"]
SETREGVAR( cRegRoot, cRegKey, "EnableLUA", cRegValue )
RETURN nil


Os parâmetros são:


cCaminhoCompleto - Caminho completo do aplicativo, exemplo: c:\pasta\subpasta\outrapasta\sistema.exe

lXPCompativel - colocar .t. se caso quer forçar execução em modo de compatibilidade


Exemplo:


...
RunASS( "c:\pasta\subpasta\outrapasta\sistema.exe", .f. )
...


As funções que usei aqui foram elaboradas para uso com o Fivewin que usa a classe tReg32().


Função SetRegVar()


FUNCTION SETREGVAR( nKey, cRegKey, cSubKey, uValue )
LOCAL oReg, cValue
nKey := IF( nKey == NIL, HKEY_CURRENT_USER, nKey )
uValue := IF( uValue == NIL, "", uValue )
oReg := TReg32():Create( nKey, cRegKey )
cValue := oReg:Set( cSubKey, uValue )
oReg:Close()
RETURN cValue

Link to comment
Share on other sites

Amigo,

Desculpa a falta de conhecimento, mas qual é o objetivo prático desta configuração?

Seria para o casa de logar como convidado e, em determinado momento, não poder executar alguma ação por não ser administrador?

Em caso positivo, dê um exemplo de bloqueio que seria feito?

Motivo da pargunta:

Já ocorreu de eu não conseguir registrar o programa usando a função que crie para isso porque o Windows simplesmente não permite gravar a informação via programa. Seria este um dos casos?

Link to comment
Share on other sites

  • 3 months later...

Amiguinho,

Sua questão é pertinente, pois por várias vezes nos deparamos com as frescuras do Windows relativas a segurança e aí como fazer?

Painel de Controle/bla,bla,bla

Isto é um saco.

Eu trabalho para que meu sistema seja seguro, meu serviço seja seguro e apresente segurança também ao usuário. O Windows não sabe da idoneidade de cada usuário ou aplicativo que ele está tentando executar portanto a unica possibilidade do sistema operacional reconhecer seu aplicativo é por meio de certificação, ou seja, seu sistema precisa de um certificado válido para ser executado e ter permissões de nível de acesso.

Ensinar para a galera como certificar o aplicativo é interessante mas leva tempo então a forma mais simples de evitar tanto travamento no uso do aplicativo vem por meio da burla da segurança de forma segura.

Isto que apresentei é um hacking, meio de modificar o registro sem usar aplicativos certificados do sistema operacional.

Aquelas perguntas chatas de que seu aplicativo precisa ser executado por administrador, diminuem.

Portanto, se o seu aplicativo precisa registrar módulos como .DLLs ou OCXses, esta burla não permitirá a quebra da execução do mesmo.

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

buy generic flagyl without prescription asthma relief breathing treatment disk atkins phase 1 weight loss where to buy plaquenil allergy medicine for stuffy nose allergies sensitivities cancer in the reproductive system buying rulide online bladder cancer blood urine calorie shifting meal plan antibacterial uses of triclosan generic mysoline online agent orange cancer breakthrough balloom pump plans amgen asthma results where to buy celexa no prescription needed cephalexin drug interaction ibuprofin arthritis doctor perryton avelox bayer nolvadex generic drug best vitamins available at rite aid ativan affects in dementia patients ativan information

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...