HANDLE hProcess;
HANDLE hToken;
if(!_wcsicmp(ps.szExeFile, _T("[System Process]"))||!_wcsicmp(ps.szExeFile, _T("System")))
{
bFind=Process32Next(hSnapshot, &ps);
continue;
}
hProcess=OpenProcess(PROCESS_ALL_ACCESS, FALSE, ps.th32ProcessID);
if(hProcess==NULL)
{
MessageBox(_T("can't open this process"));
return;
}
if(!OpenProcessToken(hProcess, TOKEN_QUERY, &hToken))
{
MessageBox(_T("can't open this process's token"));
return;
}
CloseHandle(hProcess);
PTOKEN_USER tokenuser;
DWORD size=0;
if(GetTokenInformation(hToken, TokenUser , NULL, size, &size))
{
tokenuser=NULL;
tokenuser=(PTOKEN_USER)malloc(size);
if(tokenuser==NULL)
{
MessageBox(_T("aaaa"));
return;
}
if(tokenuser==NULL)
{
MessageBox(_T("alloc"));
return;
}
GetTokenInformation(hToken, TokenUser , tokenuser, size, &size);
}我想要做个类似任务管理器的程序 if(GetTokenInformation(hToken, TokenUser , NULL, size, &size))
这行代码老是执行不成功,不知道什么原因,请高手解释下,如果有错,应该怎么做?
HANDLE hToken;
if(!_wcsicmp(ps.szExeFile, _T("[System Process]"))||!_wcsicmp(ps.szExeFile, _T("System")))
{
bFind=Process32Next(hSnapshot, &ps);
continue;
}
hProcess=OpenProcess(PROCESS_ALL_ACCESS, FALSE, ps.th32ProcessID);
if(hProcess==NULL)
{
MessageBox(_T("can't open this process"));
return;
}
if(!OpenProcessToken(hProcess, TOKEN_QUERY, &hToken))
{
MessageBox(_T("can't open this process's token"));
return;
}
CloseHandle(hProcess);
PTOKEN_USER tokenuser;
DWORD size=0;
if(GetTokenInformation(hToken, TokenUser , NULL, size, &size))
{
tokenuser=NULL;
tokenuser=(PTOKEN_USER)malloc(size);
if(tokenuser==NULL)
{
MessageBox(_T("aaaa"));
return;
}
if(tokenuser==NULL)
{
MessageBox(_T("alloc"));
return;
}
GetTokenInformation(hToken, TokenUser , tokenuser, size, &size);
}我想要做个类似任务管理器的程序 if(GetTokenInformation(hToken, TokenUser , NULL, size, &size))
这行代码老是执行不成功,不知道什么原因,请高手解释下,如果有错,应该怎么做?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货