Ответ 1
Это скажет вам, работаете ли вы с повышенными привилегиями или нет. Вы можете установить манифест для запуска с наиболее возможными, если вы хотите, чтобы он запрашивал. Существуют также другие способы просить окна через код для альтернативных учетных данных.
BOOL IsElevated( ) {
BOOL fRet = FALSE;
HANDLE hToken = NULL;
if( OpenProcessToken( GetCurrentProcess( ),TOKEN_QUERY,&hToken ) ) {
TOKEN_ELEVATION Elevation;
DWORD cbSize = sizeof( TOKEN_ELEVATION );
if( GetTokenInformation( hToken, TokenElevation, &Elevation, sizeof( Elevation ), &cbSize ) ) {
fRet = Elevation.TokenIsElevated;
}
}
if( hToken ) {
CloseHandle( hToken );
}
return fRet;
}