Verificação dos direitos de usuário
No ambiente Windows NT (todas as versões de Windows a partir do NT 4.0, exceto Windows 95, 98 e Millennium) é muito importante verificar se o usuário tem direitos administrativos no computador. Assim seu programa libera determinadas ações com base nisso, evitando ou personalizando mensagens de erro ao usuário (por exemplo, ao escrever em determinadas chaves do registro, onde os usuários restritos não têm acesso).
No Windows 95/98/Me estas funções sempre retornarão True, pois nesses sistemas não existe a classificação dos usuários em grupos com privilégios diferentes.
Obs.: a primeira verifica se o usuário é administrador, e a segunda, se ele é um usuário avançado (power user).
function IsAdminLoggedOn: Boolean;
{ Returns True if the logged-on user is a member of the Administrators
local group. Always returns True on Windows 9x/Me. }
const
DOMAIN_ALIAS_RID_ADMINS = $00000220;
begin
Result := IsMemberOfGroup(DOMAIN_ALIAS_RID_ADMINS);
end;
function IsPowerUserLoggedOn: Boolean;
{ Returns True if the logged-on user is a member of the Power Users
local group. Always returns True on Windows 9x/Me. }
const
DOMAIN_ALIAS_RID_POWER_USERS = $00000223;
begin
Result := IsMemberOfGroup(DOMAIN_ALIAS_RID_POWER_USERS);
end;
Att,
ex_SheL$
No ambiente Windows NT (todas as versões de Windows a partir do NT 4.0, exceto Windows 95, 98 e Millennium) é muito importante verificar se o usuário tem direitos administrativos no computador. Assim seu programa libera determinadas ações com base nisso, evitando ou personalizando mensagens de erro ao usuário (por exemplo, ao escrever em determinadas chaves do registro, onde os usuários restritos não têm acesso).
No Windows 95/98/Me estas funções sempre retornarão True, pois nesses sistemas não existe a classificação dos usuários em grupos com privilégios diferentes.
Obs.: a primeira verifica se o usuário é administrador, e a segunda, se ele é um usuário avançado (power user).
function IsAdminLoggedOn: Boolean;
{ Returns True if the logged-on user is a member of the Administrators
local group. Always returns True on Windows 9x/Me. }
const
DOMAIN_ALIAS_RID_ADMINS = $00000220;
begin
Result := IsMemberOfGroup(DOMAIN_ALIAS_RID_ADMINS);
end;
function IsPowerUserLoggedOn: Boolean;
{ Returns True if the logged-on user is a member of the Power Users
local group. Always returns True on Windows 9x/Me. }
const
DOMAIN_ALIAS_RID_POWER_USERS = $00000223;
begin
Result := IsMemberOfGroup(DOMAIN_ALIAS_RID_POWER_USERS);
end;
Att,
ex_SheL$
Comment