Обнаружить при выполнении как Администратор с или без поднятых полномочий?

Я не уверен, для чего Вы нуждаетесь в нем, и такие вещи всегда относительны (экран, окно, документ). Но когда я должен был понять это, я нашел этот сайт полезным: http://www.mattkruse.com/javascript/anchorposition/source.html

И я также нашел, что плагин подсказки, который кто-то сделал для jQuery, имел все виды интересного понимания к x, y располагающие приемы (посмотрите на его класс области просмотра и базовую поддержку, jQuery предусматривает его). http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/

73
задан Ruben Bartelink 2 July 2013 в 12:16
поделиться

2 ответа

В проекте CodePlex UAChelper есть код, который проверяет повышение прав в UserAccountControl.cpp UserAccountControl :: IsUserAdmin , который проверяет, включен ли UAC, а затем проверяет, повышен ли процесс.

bool UserAccountControl::IsCurrentProcessElevated::get()
{
    return GetProcessTokenElevationType() == TokenElevationTypeFull;    //elevated
}

из функции:

int UserAccountControl::GetProcessTokenElevationType()
{
    HANDLE hToken;
    try
    {
        if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))
            throw gcnew Win32Exception(GetLastError());

        TOKEN_ELEVATION_TYPE elevationType;
        DWORD dwSize;
        if (!GetTokenInformation(hToken, TokenElevationType, &elevationType, sizeof(elevationType), &dwSize))
            throw gcnew Win32Exception(GetLastError());

        return elevationType;
    }
    finally
    {
        CloseHandle(hToken);
    }
}
16
ответ дан 24 November 2019 в 12:19
поделиться

Использование TokenElevationType будет работать, но если вы используете PInvoke CheckTokenMembership () для SID группы администраторов, ваш код также будет работать, когда UAC выключен и на 2000 / XP / 2003, а также будет обрабатывать запрещенные SID.

Существует также функция IsUserAnAdmin () , которая выполняет проверку CheckTokenMembership за вас, но MSDN сообщает, что она может быть там не навсегда

5
ответ дан 24 November 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: