aheinecke@321: #include "util.h" aheinecke@321: #ifdef WIN32 aheinecke@321: #include aheinecke@321: #endif aheinecke@321: aheinecke@321: #ifdef WIN32 aheinecke@321: bool aheinecke@321: is_elevated() { aheinecke@321: HANDLE hToken = NULL; aheinecke@321: bool ret = false; aheinecke@321: if (OpenProcessToken (GetCurrentProcess(), TOKEN_QUERY, &hToken)) aheinecke@321: { aheinecke@321: DWORD elevation; aheinecke@321: DWORD cbSize = sizeof (DWORD); aheinecke@321: if (GetTokenInformation (hToken, TokenElevation, &elevation, aheinecke@321: sizeof (TokenElevation), &cbSize)) aheinecke@321: { aheinecke@321: ret = elevation; aheinecke@321: } aheinecke@321: } aheinecke@321: if (hToken) aheinecke@321: CloseHandle (hToken); aheinecke@321: aheinecke@321: return ret; aheinecke@321: } aheinecke@321: #endif