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

Вниз

Консольное приложение и UAC   Найти похожие ветки 

 
Eraser ©   (2010-12-25 15:17) [12]

> [11] DVM ©   (25.12.10 12:15)

функция IsAdministrator с такой реализацией будет иногда криво работать, вот правильный вариант:

///  <summary>
///  Новая функция определения, является ли пользователь админом,
///  основанная на CheckTokenMembership.
///  </summary>
function IsAdminNew: Boolean;
const
 SE_GROUP_ENABLED = $00000004;
 SE_GROUP_USE_FOR_DENY_ONLY  = $00000010;
var
 psidAdministrators: PSID;
 bIsMember: LongBool;
begin
 if Win32Platform <> VER_PLATFORM_WIN32_NT then
 begin
   Result := True;
   Exit;
 end;

 Result := False;
 psidAdministrators := nil;
 try
   if AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
     SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
     0, 0, 0, 0, 0, 0, psidAdministrators) then
   begin
     if CheckTokenMembership(0, psidAdministrators, bIsMember) then
       Result := bIsMember;
   end;
 finally
   if psidAdministrators <> nil then
     FreeSid(psidAdministrators);
 end;
end;



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

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

Наверх





Память: 0.44 MB
Время: 0.005 c
1-1252240815
atruhin
2009-09-06 16:40
2011.04.10
Delphi 2009/2010 string какой стандарт unicode?


15-1292966991
Юрий
2010-12-22 00:29
2011.04.10
С днем рождения ! 22 декабря 2010 среда


2-1294612841
Германн
2011-01-10 01:40
2011.04.10
Свойство RowSelect у компонента TTreeView


6-1236185481
It's not me
2009-03-04 19:51
2011.04.10
Зависание над чтением сокета


2-1294726595
RUu
2011-01-11 09:16
2011.04.10
оповещение первой формы о закрытии второй





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский