为什么得不到进程令牌?

yibuyisheng 2011-06-26 09:00:06
//提升进程权限
PHANDLE ph = 0;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,ph))
{
cout << "获取成功";
}
cout << endl << "Running Process" << endl;
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
MODULEENTRY32 * processInfo = new MODULEENTRY32;
processInfo->dwSize = sizeof(MODULEENTRY32);
Module32First(hSnapShot,processInfo);
int index = 0;

while(Module32Next(hSnapShot,processInfo) != FALSE)
{
cout << endl << "********************************************";
cout << endl << "\t\t\t" << ++ index;
cout << endl << "********************************************";
cout << endl;
for(int i = 0;i < MAX_PATH; i ++)
{
char a = char(processInfo->szExePath[i]);
cout << a;
}
cout << endl;
}

CloseHandle(hSnapShot);
cout << endl;
cout << endl << "***********************************************";
cout << endl << endl;



OpenProcessToken的执行结果总是false,这是为什么呢?
...全文
47 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yibuyisheng 2011-06-26
  • 打赏
  • 举报
回复
再加个查询权限看看
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY




我修改了这个,还是不行,再加上GetLastError的时候返回错误号是998(内存分配访问无效)
青稞 2011-06-26
  • 打赏
  • 举报
回复
实在不行就GetLastError查查错误代码。
青稞 2011-06-26
  • 打赏
  • 举报
回复
再加个查询权限看看
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY

2,641

社区成员

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

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