PDA

Ver la Versión Completa : Ver si proceso es elevado


Nipx4215
08-09-2015, 16:29:04
Hola

Como podría implementar en un binario la funcion GetTokenInformation donde TOKEN_INFORMATION_CLASS sea 20, que corresponde a TokenElevation segun el MSDN
msdn.microsoft.com/en-us/library/windows/hardware/ff556838(v=vs.85).aspx

En palabras simples lo que quiero es ver si un proceso es elevado, solo eso.

Encontré un ejemplo acá, pero solo es .NET y me interesa en delphi
codeproject.com/Articles/66016/A-Quick-Start-Guide-of-Process-Mandatory-Level-Che

Pedí la ayuda a un compañero del foro, pero es posible que no haya tenido tiempo

Gracias

Nipx4215
08-09-2015, 16:32:02
No sé si esto podría ayudar, pero me da error al compilar la funcion

function TMyAppInfo.RunningAsAdmin: boolean;
var
hToken, hProcess: THandle;
pTokenInformation: pointer;
ReturnLength: DWord;
TokenInformation: TTokenElevation;
begin
hProcess := GetCurrentProcess;
try
if OpenProcessToken(hProcess, TOKEN_QUERY, hToken) then try
TokenInformation.TokenIsElevated := 0;
pTokenInformation := @TokenInformation;
GetTokenInformation(hToken, TokenElevation, pTokenInformation, sizeof(TokenInformation), ReturnLength);
result := (TokenInformation.TokenIsElevated > 0);
finally
CloseHandle(hToken);
end;
except
result := false;
end;
end;

Casimiro Notevi
09-09-2015, 01:21:34
No sé si esto podría ayudar, pero me da error al compilar la funcion
¿Error? :rolleyes:

Nipx4215
09-09-2015, 01:49:32
Favor de cerrar el hilo

Gracuias

Casimiro Notevi
09-09-2015, 02:32:04
¿Por qué? :confused: