得到一个进程的ID以后怎么知道这个进程是由哪个用户创建的? 同题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Maybe NtQueryInformationProcess() function can help for you //读取当前进程的所有者的信息void GetProcessAuth(CString strPath,long pid){//获得运行进程的用户身份,此处对于8以上的进程没问题,对于8,0进程无法列出(8是Win2000下的,WinXP下为4)SID_NAME_USE peUse;HANDLE hp;HANDLE hToken;int isok;char buf[0x400];char buf1[100];char buf2[100];DWORD dwNumBytesRet;DWORD dwNumBytesRet1;hp=OpenProcess(0x400, 0, pid);//0x400 is PROCESS_QUERY_INFORMATIONisok=OpenProcessToken(hp, 0x20008, &hToken);//这个0x20008不知道什么,TOKEN_QUERY?if(isok){ isok=GetTokenInformation(hToken, TokenUser, &buf, 0x400, &dwNumBytesRet); if(isok) { dwNumBytesRet=100; dwNumBytesRet1=100; isok=LookupAccountSid(NULL, (DWORD *) (*(DWORD *)buf), buf1, &dwNumBytesRet, buf2, &dwNumBytesRet1, &peUse); if(isok) { strPath.Format("Run Auth:%s\\%s", buf2, buf1); strPathValid = strPath; } CloseHandle(hToken); }}CloseHandle(hp);} 我该怎么办?求助。 CSocket问题困扰着我多时!!!VC高手求救啊!! 简单问题, 解决马上结贴,BSTR与CString 的转换问题。 求一段代码:向ListCtrl控件插入item并且每个item前有一个图标? 1000分求证!VC6.0在Win2000下编辑内联汇编会当掉?! 关于CString.Format的问题 请C++高手门指点,有分 有关cscrollview中getclientrect()的问题? 初学者求好书 望指导 小弟我毕业设计要用到VC,都说很难,麻烦介绍几本"入门"的好书!!多谢了!!! 对话框加载gif动画,很奇怪 讨论:MSN<=>OICQ
{
//获得运行进程的用户身份,此处对于8以上的进程没问题,对于8,0进程无法列出(8是Win2000下的,WinXP下为4)
SID_NAME_USE peUse;
HANDLE hp;
HANDLE hToken;
int isok;
char buf[0x400];
char buf1[100];
char buf2[100];
DWORD dwNumBytesRet;
DWORD dwNumBytesRet1;hp=OpenProcess(0x400, 0, pid);//0x400 is PROCESS_QUERY_INFORMATION
isok=OpenProcessToken(hp, 0x20008, &hToken);//这个0x20008不知道什么,TOKEN_QUERY?
if(isok)
{
isok=GetTokenInformation(hToken, TokenUser, &buf, 0x400, &dwNumBytesRet);
if(isok)
{
dwNumBytesRet=100;
dwNumBytesRet1=100;
isok=LookupAccountSid(NULL, (DWORD *) (*(DWORD *)buf), buf1, &dwNumBytesRet, buf2, &dwNumBytesRet1, &peUse);
if(isok)
{
strPath.Format("Run Auth:%s\\%s", buf2, buf1);
strPathValid = strPath;
} CloseHandle(hToken);
}
}CloseHandle(hp);
}