#include "FiveWin.ch"
FUNCTION Main()
LOCAL cCaminhoCompleto := "C:\INST_NFE\REGASM.EXE"
LOCAL lXPCompativel := .T.
/*
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. )
...
*/
RETURN NIL
FUNCTION RunASS( cCaminhoCompleto, lXPCompativel )
*****************************************************
* Grava o registro do aplicativo
*****************************************************
LOCAL cRunName, cRunKey, cRegKey
DEFAULT lXPCompativel := .F.
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
/*
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
// FIM DO PROGRAMA
Pergunta também está no Fivein Brasil. Very thanks.