نمایش نتایج 1 تا 6 از 6

نام تاپیک: کدام نوع user در ویندوز هستیم؟

  1. #1

    کدام نوع user در ویندوز هستیم؟

    سلام،
    چطوری می توان تشخیص داد که ویندوز تحت چه نوع user ی می باشد؟ dministrator ، limitted و یا ...؟
    آیا تابع api برای تشخیص این موضوع وجود ندارد؟

  2. #2

    نقل قول: کدام نوع user در ویندوز هستیم؟

    #include <iostream>

    #include <tchar.h>
    #include <windows.h>
    #include <Ntsecapi.h>

    #define BUFF_SIZE 1024
    BOOL IsAdmin()
    {
    HANDLE hToken = NULL;
    PSID pAdminSid = NULL;
    BYTE buffer[BUFF_SIZE];
    PTOKEN_GROUPS pGroups = (PTOKEN_GROUPS)buffer;
    DWORD dwSize; // buffer size
    DWORD i;
    BOOL bSuccess;
    SID_IDENTIFIER_AUTHORITY siaNtAuth = SECURITY_NT_AUTHORITY;

    // get token handle
    if ( !OpenProcessToken ( GetCurrentProcess ( ), TOKEN_QUERY, &hToken ) )
    return false;

    bSuccess = GetTokenInformation ( hToken, TokenGroups,
    (LPVOID)pGroups, BUFF_SIZE,
    &dwSize );
    CloseHandle ( hToken );
    if ( !bSuccess )
    return false;
    if ( !AllocateAndInitializeSid ( &siaNtAuth, 2,
    SECURITY_BUILTIN_DOMAIN_RID,
    DOMAIN_ALIAS_RID_ADMINS,
    0,0,0,0,0,0, &pAdminSid ) )
    return false;

    bSuccess = FALSE;
    for ( i = 0; (i < pGroups->GroupCount) && !bSuccess; i++ )
    {
    if ( EqualSid ( pAdminSid, pGroups->Groups[i].Sid ) )
    bSuccess = TRUE;
    }
    FreeSid ( pAdminSid );

    return bSuccess;
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
    using namespace std;
    if (IsAdmin())
    cout << "User is an Administrator." << endl;
    else
    cout << "User is not an Administrator." << endl;

    getchar();
    return 0;
    }



    این کد رو من ننوشتم و قبلا برای کاری از اینترنت گرفته بودم و تو کامپیوترم موجود بود و منبعش هم یادم نیست. اما آقا مهدی در پست زیر زحمت کشیدن منبع رو پیدا کردند و آدرس رو گذاشتند.

    پیروز باشید.
    آخرین ویرایش به وسیله C++‎Lover : چهارشنبه 18 دی 1387 در 02:02 صبح

  3. #3

    نقل قول: کدام نوع user در ویندوز هستیم؟

    سلام.
    اگر میخواهید کد فرد دیگه ای رو Copy & Paste کنید، لطفا Reference بهش رو هم بدید که معنی بدی پیدا نکنه! برای مشاهده کد اصلی و پاسخ کامل، میتونید به این سایت مراجعه کنید.

  4. #4

    نقل قول: کدام نوع user در ویندوز هستیم؟

    این کد رو که از چندین سال پیش تو بایگانی کدهام بود پیدا کردم.
    اصلا هم یادم نمیاد از کجا گرفتم.
    فقط تستش کردم مطمئن شم و اینجا گذاشتم.
    چون کسی جواب نداده بود، قصدم راه انداختن کار دوستمون بود.
    از اینکه خیلی خیلی زحمت کشیدی و کلی گشتی و منبع رو پیدا کردی و معرفی کردی ممنون. :)
    آخرین ویرایش به وسیله C++‎Lover : سه شنبه 17 دی 1387 در 16:48 عصر

  5. #5

    نقل قول: کدام نوع user در ویندوز هستیم؟

    نقل قول نوشته شده توسط C++‎Lover مشاهده تاپیک
    این کد رو که از چندین سال پیش تو بایگانی کدهام بود پیدا کردم.
    اصلا هم یادم نمیاد از کجا گرفتم. فقط تستش کردم مطمئن شم و اینجا گذاشتم. چون کسی جواب نداده بود، قصدم راه انداختن کار دوستمون بود. از اینکه خیلی خیلی زحمت کشیدی و کلی گشتی و منبع رو پیدا کردی و معرفی کردی ممنون. :)
    خواهش میکنم. قابلی نداشت. البته زیر 30 ثانیه طول کشید تا پیداش کردم، چون اینقدر دست خطش تابلو بود که حس کردم کار سرکار عالی نیست!

  6. #6

    نقل قول: کدام نوع user در ویندوز هستیم؟

    این همه استعداد یک جا.
    خدا قوت داره.
    خسته نباشی.

    من از اولش هم ادعا نکردم این کد رو من نوشتم. همون طور که گفتم از قبل چون برای کاری ازش استفاده کرده بودم توی کامپیوترم موجود بود و منبعش رو هم به خاطر نداشتم و فقط اینجا گذاشتم تا کمکی کرده باشم. برای راحتی خیال شما و چون موضوع براتون خیلی حساس و مهمه پستم رو آپدیت کردم و نوشتم که کد کار من نیست.


    __________________
    غرور بزرگترين نعمتي است ، که خداوند ، به مردم ضعيف هديه کرده است. شکسپير
    بنای کینه و نفرت روی سنگ بی حرمتی ها ساخته شده است.
    آخرین ویرایش به وسیله C++‎Lover : چهارشنبه 18 دی 1387 در 02:19 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •