显示计算机上所有进程和进程的内存信息

来源:互联网 发布:淘宝客服介入退款规则 编辑:程序博客网 时间:2024/05/18 08:23

                                                                                                                 显示进程信息

 

#include <stdio.h>#include <malloc.h>#include <string.h>#include <windows.h>#include <TlHelp32.h>#include <Psapi.h>void PrintMemoryInfo( DWORD processID );int main() { PROCESSENTRY32 pe32; pe32.dwSize=sizeof(pe32); HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if (hProcessSnap==INVALID_HANDLE_VALUE) {  printf("CreateSnapShot Fail/n");  return -1; } BOOL bMore=Process32First(hProcessSnap,&pe32); while (bMore) {  printf("进程名称:%s/n",pe32.szExeFile);  printf("进程ID: %u/n",pe32.th32ProcessID);  printf("进程的父进程ID:%u/n",pe32.th32ParentProcessID);  printf("进程的线程数:%u/n/n",pe32.cntThreads);  bMore=Process32Next(hProcessSnap,&pe32); } DWORD dwProccessID; scanf("%u",&dwProccessID); PrintMemoryInfo(dwProccessID); return 0;} ////////////////////////////////////////////////////////////////////////////////////////函数功能:打印进程的相关信息//函数参数:processID, 进程号//函数返回:无//////////////////////////////////////////////////////////////////////////////////////void PrintMemoryInfo( DWORD processID ){ HANDLE hProcess; PROCESS_MEMORY_COUNTERS pmc; char charA=char(3); // Print the process identifier. printf( "/nProcess ID: %u/n", processID ); // Print information about the memory usage of the process. hProcess = OpenProcess(  PROCESS_QUERY_INFORMATION |  PROCESS_VM_READ,  FALSE, processID ); if (NULL == hProcess)  return; if ( GetProcessMemoryInfo( hProcess, &pmc, sizeof(pmc)) ) {  printf( "/tPageFaultCount: %d/n", pmc.PageFaultCount );  printf( "/tPageFaultCount: 0x%08X/n", pmc.PageFaultCount );  printf( "/tPeakWorkingSetSize: 0x%08X/n",   pmc.PeakWorkingSetSize );  printf( "/tWorkingSetSize: 0x%08X/n", pmc.WorkingSetSize );  printf( "/tQuotaPeakPagedPoolUsage: 0x%08X/n",   pmc.QuotaPeakPagedPoolUsage );  printf( "/tQuotaPagedPoolUsage: 0x%08X/n",   pmc.QuotaPagedPoolUsage );  printf( "/tQuotaPeakNonPagedPoolUsage: 0x%08X/n",   pmc.QuotaPeakNonPagedPoolUsage );  printf( "/tQuotaNonPagedPoolUsage: 0x%08X/n",   pmc.QuotaNonPagedPoolUsage );  printf( "/tPagefileUsage: 0x%08X/n", pmc.PagefileUsage );  printf( "/tPeakPagefileUsage: 0x%08X/n",   pmc.PeakPagefileUsage ); } CloseHandle( hProcess );}


 

 

 

原创粉丝点击