• ¡Welcome to Square Theme!
  • This news are in header template.
  • Please ignore this message.
مهمان عزیز خوش‌آمدید. ورود عضــویت


امتیاز موضوع:
  • 19 رای - 2.79 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Title: سورس کد چک کردن ادمین بودن یوزر (دلفی)
حالت موضوعی
#1
درود
با سورس زیر میتونید چک کنید ایا یوزر کاربری ادمین هست یا نه ؟تابع زیر نیاز به فراخوانی یونیت windows رو دارد.
کد:
function IsAdmin: Boolean;
const
  // SID related constants
  SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority =
    (Value: (0, 0, 0, 0, 0, 5));
  SECURITY_BUILTIN_DOMAIN_RID = $00000020;
  DOMAIN_ALIAS_RID_ADMINS = $00000220;
var
  AccessToken: Windows.THandle;       // process access token
  TokenGroups: Windows.PTokenGroups;  // token groups
  InfoBufferSize: Windows.DWORD;      // token info buffer size
  AdmininstratorsSID: Windows.PSID;   // administrators SID
  I: Integer;                         // loops thru token groups
  Success: Windows.BOOL;              // API function success results
begin
  Result   := False;
  Success := Windows.OpenThreadToken(
    Windows.GetCurrentThread, Windows.TOKEN_QUERY, True, AccessToken
  );
  if not Success then
  begin
    if Windows.GetLastError = Windows.ERROR_NO_TOKEN then
      Success := Windows.OpenProcessToken(
        Windows.GetCurrentProcess, Windows.TOKEN_QUERY, AccessToken
      );
  end;
  if Success then
  begin
    GetMem(TokenGroups, 1024);
    Success := Windows.GetTokenInformation(
      AccessToken, Windows.TokenGroups, TokenGroups, 1024, InfoBufferSize
    );
    Windows.CloseHandle(AccessToken);
    if Success then
    begin
      Windows.AllocateAndInitializeSid(
        SECURITY_NT_AUTHORITY, 2,
        SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
        0, 0, 0, 0, 0, 0,
        AdmininstratorsSID
      );
      {$R-}
      for I := 0 to TokenGroups.GroupCount - 1 do
        if Windows.EqualSid(AdmininstratorsSID, TokenGroups.Groups[I].Sid) then
        begin
          Result := True;
          Break;
        end;
      {$R+}
      Windows.FreeSid(AdmininstratorsSID);
    end;
    FreeMem(TokenGroups);
  end;
end;
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
 
پاسخ
  


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سورس کد انتقال فایل به سطل اشغال ( دلفی) Amin_Mansouri 1 5,457 10-08-2022، 06:21 PM
آخرین ارسال: sonusood
  سورس بدست اوردن کلیپ برد ( دلفی ) Amin_Mansouri 1 7,401 10-08-2022، 05:49 PM
آخرین ارسال: sonusood
  چک کردن وضعیت پارتیشن Amin_Mansouri 1 2,832 10-08-2022، 05:09 PM
آخرین ارسال: sonusood
  دلفی و تلگرام h_mohamadi 2 4,614 04-24-2017، 12:14 AM
آخرین ارسال: shilanaseri
  رسم نمودار در اکسل از طریق دلفی Saeed7007 1 6,392 08-14-2014، 06:11 PM
آخرین ارسال: Amin_Mansouri
  سورس کد بدست اوردن اطلاعات هارد دیسک (دلفی) Amin_Mansouri 1 8,368 07-30-2014، 05:45 PM
آخرین ارسال: dehqan_mehdi
  ۳۵۰ سورس کد دلفی (دلفی رو از ابتدا تا حرفه ای شدن یاد بگیرید) Amin_Mansouri 11 31,358 01-31-2014، 04:27 PM
آخرین ارسال: Amin_Mansouri
  بارگذاری و یا نمایش تصویر فرمت jpg (دلفی) Amin_Mansouri 2 10,431 08-23-2013، 10:06 PM
آخرین ارسال: mo_coders
  بدست اوردن لیست درایورهای موجود بر روی سیستم توسط API (دلفی) Amin_Mansouri 0 4,780 08-17-2013، 09:56 AM
آخرین ارسال: Amin_Mansouri
  دانلود سورس کد استفاده از نقشه گوگل در دلفی Amin_Mansouri 0 6,738 08-17-2013، 09:44 AM
آخرین ارسال: Amin_Mansouri

پرش به انجمن:


Browsing: 1 مهمان