判断当前进程是否是管理员权限运行

2022年5月6日 54点热度 0人点赞 1条评论
BOOL IsRunasAdmin() 
{
    BOOL bElevated = FALSE;  
    HANDLE hToken = NULL;  

    // Get current process token
    if ( !OpenProcessToken( GetCurrentProcess(), TOKEN_QUERY, &hToken ) )
        return FALSE;

    TOKEN_ELEVATION tokenEle;
    DWORD dwRetLen = 0;  

    // Retrieve token elevation information
    if ( GetTokenInformation( hToken, TokenElevation, &tokenEle, sizeof(tokenEle), &dwRetLen ) ) 
    {  
        if ( dwRetLen == sizeof(tokenEle) ) 
        {
            bElevated = tokenEle.TokenIsElevated;  
        }
    }  

    CloseHandle( hToken );  
    return bElevated;  
} 

判断进程是否以管理员权限运行(***)

Stupid

一个人用自己的船将他人送到彼岸,那他自己也到达了彼岸。

文章评论

  • 数字货币杂志

    写什么都不重要,因为写什么都有人看。贵在坚持,谢谢分享

    2022年5月8日