- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
С++ Проверка, запущена ли программа на с++ от имени администратора
Для python есть такое решение: Проверка, запущен ли python-скрипт от имени администратора Но как сделать эту проверку на с++??
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Под Windows? например, так:
#include <windows.h>
#include <iostream>
#pragma comment(lib, "Advapi32")
bool IsRunAsAdministrator() {
BOOL isAdmin = FALSE;
HANDLE hToken = nullptr;
if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) {
TOKEN_ELEVATION elevation;
DWORD size;
if (GetTokenInformation(hToken, TokenElevation, &elevation, sizeof(elevation), &size)) {
isAdmin = elevation.TokenIsElevated;
}
CloseHandle(hToken);
}
return isAdmin;
}
int main() {
if (IsRunAsAdministrator()) {
std::cout << "Запущено от имени администратора\n";
} else {
std::cout << "Запущено без администраторских прав\n";
}
return 0;
}