isPrivilegedUser property
bool
get
isPrivilegedUser
Returns true if the current process is running with elevated privileges e.g. Is running as an Administrator.
Implementation
bool get isPrivilegedUser {
var isElevated = false;
withMemory<void, Pointer>(sizeOf<IntPtr>(), (phToken) {
withMemory<void, Uint32>(sizeOf<Uint32>(), (pReturnedSize) {
withMemory<void, _TokenElevation>(sizeOf<_TokenElevation>(),
(pElevation) {
if (OpenProcessToken(
GetCurrentProcess(),
TOKEN_QUERY,
phToken,
).value) {
final token = HANDLE(phToken.value);
if (GetTokenInformation(
token,
TokenElevation,
pElevation,
sizeOf<_TokenElevation>(),
pReturnedSize,
).value) {
isElevated = pElevation.ref.tokenIsElevated != 0;
}
}
final token = HANDLE(phToken.value);
if (token.isValid) {
token.close();
}
});
});
});
return isElevated;
}