【API】Windows程序提升权限函数

BOOL EnableShutdownPrivilege()
{
    HANDLE hProcess = NULL;
    HANDLE hToken = NULL;
    LUID uID = {0};
    TOKEN_PRIVILEGES stToken_Privileges = {0};

    hProcess = ::GetCurrentProcess(); //获取当前应用程序进程句柄

    if(!::OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken)) //打开当前进程的访问令牌句柄(OpenProcessToken函数调用失败返回值为零)
    {
        return FALSE;
    }
    if(!::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&uID)) //获取权限名称为"SeShutdownPrivilege"的LUID(LookupPrivilegeValue函数调用失败返回值为零)
    {
        return FALSE;
    }
    stToken_Privileges.PrivilegeCount = 1; //欲调整的权限个数
    stToken_Privileges.Privileges[0].Luid = uID; //权限的LUID
    stToken_Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; //权限的属性,SE_PRIVILEGE_ENABLED为使能该权限

    if(!::AdjustTokenPrivileges(hToken,FALSE,&stToken_Privileges,sizeof stToken_Privileges,NULL,NULL)) //调整访问令牌里的指定权限(AdjustTokenPrivileges函数调用失败返回值为零)
    {
        return FALSE;
    }

    if(::GetLastError() != ERROR_SUCCESS) //查看权限是否调整成功
    {
        return FALSE;
    }
    ::CloseHandle(hToken);
    return TRUE;
}

网页标题:【API】Windows程序提升权限函数
当前网址:http://bzwzjz.com/article/goposh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都响应式网站建设公司 企业网站建设 阿坝网站设计 网站制作 成都网站建设 成都网站设计 网站制作报价 成都网站建设公司 成都网站建设 成都网站设计 营销型网站建设 外贸营销网站建设 成都网站建设 成都网站设计制作公司 企业网站设计 网站建设 成都网站建设 营销型网站建设 响应式网站设计 成都网站设计 温江网站设计 宜宾网站设计