Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 获取Win2K8中非管理员用户会话的进程列表_C++ - Fatal编程技术网

C++ 获取Win2K8中非管理员用户会话的进程列表

C++ 获取Win2K8中非管理员用户会话的进程列表,c++,C++,我正在尝试获取在用户(非管理员)会话上运行的所有进程的列表。在Windows2008SP2中对非管理员用户进行测试时,我发现下面的代码片段除了在管理员用户中运行的进程之外,还获取了属于该用户的所有进程 是否有方法获取仅在该用户(非管理员)上运行的进程列表 请在下面查找代码段: DWORD procID = 0; FILE *fp; PROCESSENTRY32 processInfo; processInfo.dwSize = sizeof(processInfo); HANDLE pro

我正在尝试获取在用户(非管理员)会话上运行的所有进程的列表。在Windows2008SP2中对非管理员用户进行测试时,我发现下面的代码片段除了在管理员用户中运行的进程之外,还获取了属于该用户的所有进程

是否有方法获取仅在该用户(非管理员)上运行的进程列表

请在下面查找代码段:

DWORD procID = 0;
FILE *fp;

PROCESSENTRY32 processInfo;
processInfo.dwSize = sizeof(processInfo);


HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if ( processesSnapshot == INVALID_HANDLE_VALUE )
{
    return;
}

fp = _tfopen(_T("C:\\Process_List.txt") , _T("a+") );

if (fp == NULL) {
   MessageBox(_T("Can't open File"));
   return;
}

Process32First(processesSnapshot, &processInfo);


_ftprintf(fp, _T("\n Process: %s :: Process ID: %d"), processInfo.szExeFile, processInfo.th32ProcessID);
procID =  processInfo.th32ProcessID;

if (procID == 0)
{
    while ( Process32Next(processesSnapshot, &processInfo) )
    {
        _ftprintf(fp, _T("\n Process: %s :: Process ID: %d"), processInfo.szExeFile, processInfo.th32ProcessID);
    }
}

fclose(fp);
CloseHandle(processesSnapshot);
提前谢谢

问候,


Rajesh

您可能需要自己筛选列表:查看以下内容: