Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

Права пользователя при запуске программы   Найти похожие ветки 

 
TAndrew   (2002-08-28 19:04) [0]

Как узнать, с какими правами запущена программа - администратор, пользователь (например, дозволено ли изменение ключей реестра)


 
Eugene   (2002-08-30 01:22) [1]


Function FssIsAdmin: Boolean;
const
SECURITY_NT_AUTHORITY: SID_IDENTIFIER_AUTHORITY = (Value: (0,0,0,0,0,5)); // ntifs
SECURITY_BUILTIN_DOMAIN_RID: DWORD = $00000020;
DOMAIN_ALIAS_RID_ADMINS: DWORD = $00000220;
DOMAIN_ALIAS_RID_USERS : DWORD = $00000221;
DOMAIN_ALIAS_RID_GUESTS: DWORD = $00000222;
DOMAIN_ALIAS_RID_POWER_: DWORD = $00000223;
var
hAccessToken : THandle;
ptgGroups : PTokenGroups;
dwInfoBufferSize : DWORD;
psidAdministrators : PSID;
x : Integer;
bSuccess : BOOL;
begin
Result:=False;
try
bSuccess:=OpenThreadToken(GetCurrentThread,TOKEN_QUERY,True,hAccessToken);
if not bSuccess then
begin
if (GetLastError = ERROR_NO_TOKEN) then bSuccess:=OpenProcessToken(GetCurrentProcess,TOKEN_QUERY,hAccessToken);
end;
if bSuccess then
begin
GetMem(ptgGroups,1024);
try
bSuccess:=GetTokenInformation(hAccessToken,TokenGroups,ptgGroups,1024,dwInfoBufferSize);
CloseHandle(hAccessToken);
if bSuccess then
begin
AllocateAndInitializeSid(SECURITY_NT_AUTHORITY,2,SECURITY_BUILTIN_DOMAIN_RID,DOMAIN_ALIAS_RID_ADMINS,0, 0, 0, 0, 0, 0, psidAdministrators);
{$R-}
for x:=0 to ptgGroups.GroupCount - 1 do if EqualSid(psidAdministrators,ptgGroups.Groups[x].Sid) then
begin
Result:=True;
Break;
end;
{$R+}
FreeSid(psidAdministrators);
end;
finally
FreeMem(ptgGroups);
end;
end;
except
Result:=False;
end;
end;


 
ZZ   (2002-08-30 04:28) [2]

с какими правами запущена программа
и
например, дозволено ли изменение ключей реестра
2 разные вещи!! На первый вопрос ответили. На второй - проще всего попытатся прочитать/изменить



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
14-11472
Johnny Smith
2002-10-16 11:21
2002.11.04
Жертвы переписи :((((


7-11505
new23
2002-08-29 14:23
2002.11.04
Как узнать запущено приложение с определенным именем или нет?


14-11451
sayjay
2002-10-15 21:29
2002.11.04
Хочу сдалать TReplaceDialog много функциональным помогите!!!


3-11039
Shadow
2002-10-14 16:11
2002.11.04
Как переконвертировать TStringGrid в DBF и сохранить?


1-11158
VaS
2002-10-23 21:06
2002.11.04
string в record





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский