Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1776499
  • 博文数量: 272
  • 博客积分: 1272
  • 博客等级: 少尉
  • 技术积分: 1866
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-09 15:51
文章分类

全部博文(272)

文章存档

2016年(16)

2015年(28)

2014年(97)

2013年(59)

2012年(25)

2011年(47)

分类: WINDOWS

2014-03-01 22:53:11

原文地址:提升进程权限 作者:square0513

诸如SetupCopyOEMInf等函数调用时需要管理员权限,否则会返回失败.那么在调用它们之前用下面的func来提升权限就行:
 
BOOL EnablePriv()
{
    HANDLE hToken;
    if ( OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken) )
    {
        TOKEN_PRIVILEGES tkp;
       
        if(!LookupPrivilegeValue( NULL,SE_DEBUG_NAME,&tkp.Privileges[0].Luid ))
            return FALSE;//修改进程权限
        tkp.PrivilegeCount=1;
        tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
        if(!AdjustTokenPrivileges( hToken,FALSE,&tkp,sizeof tkp,NULL,NULL ))
            return FALSE;//通知系统修改进程权限
        DWORD err = GetLastError( );
        //return( (GetLastError()==ERROR_SUCCESS) );
        return TRUE;
    }
    return FLASE;
}
阅读(2163) | 评论(1) | 转发(0) |
0

上一篇:LoadLibrary函数

下一篇:windbg+win7+vm联调配置

给主人留下些什么吧!~~

chenmeng112014-03-02 01:15:02

只适合在xp下使用,在vista和win7下并不能提升进程权限