1,221
社区成员
发帖
与我相关
我的任务
分享
/******************************************************\
功能描述:调整进程的权限
参数说明:
1.PrivilegeName:要调整权限的名字。
\******************************************************/
bool WINAPI EnablePrivilege(PCHAR PrivilegeName)
{
HANDLE hProc,hToken;
TOKEN_PRIVILEGES TP;
//获得进程句柄
hProc=GetCurrentProcess();
//打开进程令牌环
if(!OpenProcessToken(hProc,TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
{
return false;
}
//获得进程本地唯一ID
if(!LookupPrivilegeValue(NULL,PrivilegeName,&TP.Privileges[0].Luid))
{
CloseHandle(hToken);
return false;
}
TP.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
TP.PrivilegeCount=1;
//调整权限
if(!AdjustTokenPrivileges(hToken,false,&TP,sizeof(TP),0,0))
{
CloseHandle(hToken);
return false;
}
CloseHandle(hToken);
return true;
}
//---------------------------------------------------------------------------
#define PROCESS_TERMINATE (0x0001)
#if (NTDDI_VERSION >= NTDDI_VISTA)
#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
0xFFFF)
#else
#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
0xFFF)
#endif