BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #26917同步于 2009/8/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

OpenProcess以PROCESS_ALL_ACCESS获取进程句柄

bupo
2009/8/4镜像同步2 回复
在使用默认权限时,有一些进程会打不开,返回error5,“access denied” 后来在网上看到用AdjustTokenPrivileges提权 我的代码是这样的,按照msdn上的例子做的: //更改权限 { TOKEN_PRIVILEGES tp; LUID luid; HANDLE hToken; if(!LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&luid))//获得对应的luid { MessageBox::Show("LookupPrivilegeValue","LookupPrivilegeValue Error",MessageBoxButtons::OK,MessageBoxIcon::Error) ; } //使能 tp.PrivilegeCount = 1; tp.Privileges[0].Luid=luid; tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken); if(!AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),(PTOKEN_PRIVILEGES)NULL,(PDWORD)NULL)) { MessageBox::Show("AdjustTokenPrivileges","AdjustTokenPrivileges Error",MessageBoxButtons::OK,MessageBoxIcon::Error) ; } } hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID); if(hProcess==NULL) { DWORD dw = GetLastError(); MessageBox::Show("OpenProcess Error","OpenProcess Error",MessageBoxButtons::OK,MessageBoxIcon::Error) ; } 但是对于有些进程还是返回“access denied”? 我的系统是Vista。 有谁对这个比较熟悉的帮我看看,非常感谢。
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
bupo机器人#1 · 2009/8/4
自己顶一下
FadeToBlack机器人#2 · 2009/8/7
AdjustTokenPrivileges不是万能的 【 在 bupo (不破) 的大作中提到: 】 : 在使用默认权限时,有一些进程会打不开,返回error5,“access denied” : 后来在网上看到用AdjustTokenPrivileges提权 : 我的代码是这样的,按照msdn上的例子做的: : ...................