Вниз
Скачать: CL | DM;

Как узнать что превилигия включена или выключена?   Найти похожие ветки 

← →
NikNet ©   (2005-08-23 21:02) [0]

Как узнать что например DEBUG привилигия включена или выключена?
и ещё каку знать есть ли у пользователя эта  привилигия или
надо добавить?


← →
alpet ©   (2005-08-23 21:08) [1]

Может быть ПРИВИЛЕГИЯ?


← →
Zeqfreed ©   (2005-08-23 21:34) [2]

NikNet ©   (23.08.05 21:02)

function SetPrivilege(const PrivilegeName : string; const Enable : boolean) : boolean;
var
tpOld, tp : TTokenPrivileges;
Token : Cardinal;
dwRetLen : DWORD;
begin
Result := False;
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);

tp.PrivilegeCount := 1;
if LookupPrivilegeValue(nil, PChar(PrivilegeName), tp.Privileges[0].LUID) then begin
 if Enable then
  tp.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED
 else
  tp.Privileges[0].Attributes:= 0;

 dwRetLen := 0;
 Result := AdjustTokenPrivileges(Token, False, tp, SizeOf(tpOld), tpOld, dwRetLen);
end;

CloseHandle(Token);
end;


Вот код из одного FAQ"а, почитай справку по ф-циям.


← →
BiN ©   (2005-08-24 09:21) [3]

>>NikNet ©   (23.08.05 21:02)  

Как узнать что например DEBUG привилигия включена или выключена?
и ещё каку знать есть ли у пользователя эта  привилигия или
надо добавить?


Для получения списка привилегий, ассоциированных с учетной записью, используется LsaEnumerateAccountRights.
Для получения списка привилегий, ассоциированных с маркером процесса, - GetTokenInformation.

>>Zeqfreed ©   (23.08.05 21:34) [2]

...
Result := AdjustTokenPrivileges(...


Список привилегий "закрепляется" за маркером при его создании.
Так вот, если в маркере будет отсутствовать целевая привилегия, и мы попытаемся установить ее в состояние "enabled", то AdjustTokenPrivileges вернет True, а привилегия при этом не будет установлена. Для того, чтобы проверить установлена привилегия, нужно проверять еще GetLastError на равенство ERROR_SUCCESS.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
14-1128793787
Layner
2005-10-08 21:49
2005.10.30
Обновление программы


14-1128676603
~viper~
2005-10-07 13:16
2005.10.30
Создание установочного CD


2-1128423393
nk
2005-10-04 14:56
2005.10.30
Запись CD-R(W)


2-1128413699
Гость22
2005-10-04 12:14
2005.10.30
Как сделать Enabled:=false для нескольких Edit oв?


1-1128668625
Maverick
2005-10-07 11:03
2005.10.30
Сохранение пользовательских настроек




   Наверх