![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Имя и права юзера [D7, Win2k, WinXP]
Trifle © (2009-05-19 11:41:00)Всем добрый день! Хелп! Как из моей программы на делфях узнать под каким юзером она запущенна и имеет ли этот юзер права администратора?
P.S. Не пинайте сильно
Игорь Шевченко (2009-05-19 11:45:00) [1]Учить английский.
1. GetUserName
2.
const
SECURITY_NT_AUTHORITY: SID_IDENTIFIER_AUTHORITY = (Value:(0,0,0,0,0,5));
SECURITY_BUILTIN_DOMAIN_RID = $00000020;
DOMAIN_ALIAS_RID_ADMINS = $00000220;
function IsAdmin: Boolean;
var
IsMember: BOOL;
NtAuthority: SID_IDENTIFIER_AUTHORITY;
AdministratorsGroup: PSID;
begin
Result := false;
Move(SECURITY_NT_AUTHORITY, NtAuthority, SizeOf(NtAuthority));
if not AllocateAndInitializeSid (NtAuthority,
2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0, AdministratorsGroup) then
Exit;
Result := CheckTokenMembership (0, AdministratorsGroup, IsMember);
if Result then
Result := IsMember;
FreeSid(AdministratorsGroup);
end;