枚举系统进程列表

简介:

 

 
  1. #include <windows.h> 
  2. #include <TCHAR.h> 
  3. #include <tlhelp32.h> 
  4. #include <locale.h> 
  5. #include <stdio.h> 
  6.  
  7. int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int nCmdShow) 
  8.     AllocConsole();//分配控制台 
  9.     ::freopen("CONOUT$""w", stdout);   
  10.  
  11.     PROCESSENTRY32 pe32; 
  12.     pe32.dwSize=sizeof(pe32); 
  13.     HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); 
  14.     BOOL bMore=Process32First(hProcessSnap,&pe32); 
  15.     setlocale(LC_ALL, "chs"); 
  16.     while(bMore) 
  17.     { 
  18.         _tprintf(TEXT("进程名称:%s\n"),pe32.szExeFile); 
  19.         _tprintf(TEXT("进程ID:%u \n\n"),pe32.th32ProcessID); 
  20.         bMore=Process32Next(hProcessSnap,&pe32); 
  21.     } 
  22.      
  23.     CloseHandle(hProcessSnap); 
  24.      
  25.      
  26.     Sleep(3000);  //睡眠3秒钟  
  27.     FreeConsole();  //关闭释放控制台 
  28.     return 0; 

 或:

 

 
  1. PROCESSENTRY32 pe32; 
  2. pe32.dwSize=sizeof(pe32); 
  3. HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); 
  4. BOOL bMore=Process32First(hProcessSnap,&pe32); 
  5. setlocale(LC_ALL, "chs"); 
  6. TCHAR str[256*sizeof(TCHAR)]; 
  7. while(bMore) 
  8.     _stprintf(str, TEXT("进程名称:%s\n进程ID:%u \n\n"),pe32.szExeFile,pe32.th32ProcessID);         
  9.     OutputDebugString(str); 
  10.     bMore=Process32Next(hProcessSnap,&pe32); 
  11.  
  12. CloseHandle(hProcessSnap); 

 

 

 
  1. #include <windows.h> 
  2. #include <TCHAR.h> 
  3. #include <tlhelp32.h> 
  4. #include <locale.h> 
  5. #include <stdio.h> 
  6.  
  7. int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int nCmdShow) 
  8.     AllocConsole();//分配控制台 
  9.     ::freopen("CONOUT$""w", stdout);   
  10.  
  11.     PROCESSENTRY32 pe32; 
  12.     pe32.dwSize=sizeof(pe32); 
  13.     HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); 
  14.     BOOL bMore=Process32First(hProcessSnap,&pe32); 
  15.     setlocale(LC_ALL, "chs"); 
  16.     while(bMore) 
  17.     { 
  18.         _tprintf(TEXT("进程名称:%s\n"),pe32.szExeFile); 
  19.         _tprintf(TEXT("进程ID:%u \n\n"),pe32.th32ProcessID); 
  20.         bMore=Process32Next(hProcessSnap,&pe32); 
  21.     } 
  22.      
  23.     CloseHandle(hProcessSnap); 
  24.      
  25.      
  26.     Sleep(3000);  //睡眠3秒钟  
  27.     FreeConsole();  //关闭释放控制台 
  28.     return 0; 

 或:

 

 
  1. PROCESSENTRY32 pe32; 
  2. pe32.dwSize=sizeof(pe32); 
  3. HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); 
  4. BOOL bMore=Process32First(hProcessSnap,&pe32); 
  5. setlocale(LC_ALL, "chs"); 
  6. TCHAR str[256*sizeof(TCHAR)]; 
  7. while(bMore) 
  8.     _stprintf(str, TEXT("进程名称:%s\n进程ID:%u \n\n"),pe32.szExeFile,pe32.th32ProcessID);         
  9.     OutputDebugString(str); 
  10.     bMore=Process32Next(hProcessSnap,&pe32); 
  11.  
  12. CloseHandle(hProcessSnap); 

  本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/752017,如需转载请自行联系原作者


相关文章
|
2月前
麒麟系统mate-indicators进程占用内存过高问题解决
【10月更文挑战第7天】麒麟系统mate-indicators进程占用内存过高问题解决
308 2
|
8天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
60 13
|
1月前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
90 1
|
1月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
3月前
|
监控
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
|
2月前
麒麟系统mate-indicators进程占用内存过高问题解决
【10月更文挑战第5天】麒麟系统mate-indicators进程占用内存过高问题解决
199 0
|
3月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
56 1
|
3月前
|
安全 开发者 Python
揭秘Python IPC:进程间的秘密对话,让你的系统编程更上一层楼
【9月更文挑战第8天】在系统编程中,进程间通信(IPC)是实现多进程协作的关键技术。IPC机制如管道、队列、共享内存和套接字,使进程能在独立内存空间中共享信息,提升系统并发性和灵活性。Python提供了丰富的IPC工具,如`multiprocessing.Pipe()`和`multiprocessing.Queue()`,简化了进程间通信的实现。本文将从理论到实践,详细介绍各种IPC机制的特点和应用场景,帮助开发者构建高效、可靠的多进程应用。掌握Python IPC,让系统编程更加得心应手。
40 4
|
3月前
|
监控 API
【原创】用Delphi编写系统进程监控程序
【原创】用Delphi编写系统进程监控程序
|
5月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能