« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
公告 |
本站技术贴除标明为“原创”的之外,其余均为网上转载,文中我会尽量保留原作者姓名,若有侵权请与我联系,我将第一时间做出修改。谢谢!
——既瑜 |
统计 |
blog名称:★既瑜★ 日志总数:183 评论数量:636 留言数量:-25 访问次数:1406248 建立时间:2005年3月12日 |
OICQ:215768265
njucs2001@hotmail.com
erichoo1982@gmail.com |
|
W3CHINA Blog首页 管理页面 写新日志 退出
[【技术文档】]用C实现打印所有进程 |
#include <windows.h>#include <TLHELP32.H> //申明快照函数的头文件
int main(int argc, char *argv[]){ PROCESSENTRY32 pe32; HANDLE hProcessSnap; BOOL bMore;
//在使用这结构前,先设置其大小 pe32.dwSize = sizeof(pe32);
//给系统的所有进程拍一个照 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hProcessSnap == INVALID_HANDLE_VALUE) { printf("调用失败!"); return -1; }
//遍历进程快照 bMore = Process32First(hProcessSnap,&pe32); while(bMore) { printf("进程名称:%s\n",pe32.szExeFile); printf("进程ID:%u\n\n",pe32.th32ProcessID); bMore = Process32Next(hProcessSnap,&pe32); }
//清除掉SnapShot对象 CloseHandle(hProcessSnap); return 0;}
用VC6。0编译后,效果如下:进程名称:[System Process]进程ID:0
进程名称:System进程ID:4
进程名称:SMSS.EXE进程ID:460
进程名称:CSRSS.EXE进程ID:508
进程名称:WINLOGON.EXE进程ID:532
进程名称:SERVICES.EXE进程ID:576
进程名称:LSASS.EXE进程ID:588
进程名称:SVCHOST.EXE进程ID:744
进程名称:SVCHOST.EXE进程ID:804
进程名称:SVCHOST.EXE进程ID:1156
进程名称:SVCHOST.EXE进程ID:1224
进程名称:EXPLORER.EXE进程ID:1704
进程名称:conime.exe进程ID:1752
进程名称:ALG.EXE进程ID:1956
进程名称:RavTimer.exe进程ID:1648
进程名称:PFW.exe进程ID:2044
进程名称:CTFMON.EXE进程ID:424
进程名称:Maxthon.exe进程ID:1356
进程名称:QQ.exe进程ID:1416
进程名称:QQ.exe进程ID:1480
进程名称:CMD.EXE进程ID:3972
进程名称:BitSpirit.exe进程ID:1408
进程名称:QQ.exe进程ID:3132
进程名称:CCenter.exe进程ID:3052
进程名称:RavMonD.exe进程ID:1208
进程名称:RavStub.exe进程ID:3464
进程名称:MSDEV.EXE进程ID:2620
进程名称:NOTEPAD.EXE进程ID:252
进程名称:vcspawn.exe进程ID:2248
进程名称:ProcessList.exe进程ID:4044
|
阅读全文(7609) | 回复(1) | 编辑 | 精华 |
回复:用C实现打印所有进程 |
一凡(游客)发表评论于2007/10/31 9:35:32 | 可是得到的 id 0 的时间有问题?
请问怎样才能正确得到 id 0的cpu 使用时间?
谢谢
|
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除 |
» 1 »
|