读书人

为什么得不到进程令牌?该怎么处理

发布时间: 2012-01-09 21:05:42 作者: rapoo

为什么得不到进程令牌?
//提升进程权限
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,这是为什么呢?

[解决办法]
再加个查询权限看看
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY

读书人网 >VC/MFC

热点推荐