如何提升进程权限

GUNDAMRX 2007-10-23 06:16:50
我编了一个列举系统所有进程的程序
在VS2005下调试时
由于该程序继承了vs2005的权限 可以查看所有系统进程
但是单独打开程序时,会有一些系统进程由于权限问题不能列举出来
怎样提升该程序的权限,让他可以列举出所有的进程
该程序是在XP SP2下运行
...全文
574 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
凤矶 2007-10-23
  • 打赏
  • 举报
回复

OSVERSIONINFO vi;
ZeroMemory(&vi, sizeof(vi));
vi.dwOSVersionInfoSize = sizeof(vi);
GetVersionEx(&vi);
if (vi.dwPlatformId != VER_PLATFORM_WIN32_NT)
return;

HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, GetCurrentProcessId());
if (hProcess)
{
HANDLE hToken;
if (OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken))
{
LUID luid;
if (LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid))
{
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL);
}
CloseHandle(hToken);
}

----------
SE_DEBUG_NAME 查看进程不行是不是这个权限,如果不行你到它的定义去找,有很多

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧