获取系统所有进程
来源:互联网 发布:大数据学术报告点评 编辑:程序博客网 时间:2024/05/26 15:55
Delphi的TlHelp32单元封装了关于进程线程,堆,模块的函数和结构。写代码之前先对几个函数进行一下说明。
CreateToolhelp32Snapshot 函数为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD])建立一个快照[snapshot]。也就是各个进程的这些相关信息。函数的申明如下:
TCreateToolhelp32Snapshot = function (dwFlags, th32ProcessID: DWORD): THandle stdcall;(具体参数说明请参看帮助)
TProcessEntry32 结构包含进程的一些信息,定义如下
TProcessEntry32 = tagPROCESSENTRY32W;
tagPROCESSENTRY32W = record dwSize: DWORD; //该记录型的大小,在使用之前必须对它进行初始化 cntUsage: DWORD; //这个成员一般设置为0 th32ProcessID: DWORD; // this process PID th32DefaultHeapID: DWORD; th32ModuleID: DWORD; // associated exe cntThreads: DWORD; //该进程开启的线程数 th32ParentProcessID: DWORD; // this process's parent process 创建该进程的进程的PID pcPriClassBase: Longint; // Base priority of process's threads 线程优先权 dwFlags: DWORD; szExeFile: array[0..MAX_PATH - 1] of WChar;// Path 该进程可执行文件的名字 end;
Process32First 函数获取系统快照里第一个进程的信息,声明如下:
TProcess32FirstW = function (hSnapshot: THandle; var lppe: TProcessEntry32W): BOOL stdcall;
hSnapshot为通过CreateToolhelp32Snapshot获取的快照的句柄,lppe是指向TProcessEntry32的一个指针,调用该函数得到的进程信息就存放在lppe指向的记录里
Process32Next 函数获取系统快照里下一个进程的信息,声明同上,一般和上一个函数一起使用。
完整代码如下:
procedure GetSysPro;var h:thandle; f:boolean; lppe:tprocessentry32;begin h := CreateToolhelp32Snapshot(TH32cs_SnapProcess, 0); lppe.dwSize := sizeof(lppe); f := Process32First(h, lppe); while integer(f) <> 0 do begin Memo1.Lines.Add(lppe.szExeFile+'----'+IntToStr(lppe.th32ProcessID)); f := Process32Next(h, lppe); end;end;
- 获取系统所有进程
- 获取系统当前所有进程
- 获取系统中所有进程&线程信息
- 获取windows系统所有运行进程
- 使用python获取系统所有进程PID以及进程名称
- ios下获取系统所有进程PID信息
- Android 5.0系统以上获取所有运行进程
- Android开发之获取系统所有进程信息。
- Android 5.0系统以上获取所有运行进程
- Java 获取所有进程
- Qt获取所有进程、终止某个进程
- Qt获取所有进程、终止某个进程
- 获取系统进程
- 获取系统进程
- 获取系统进程 CreateToolhelp32Snapshot
- 获取系统进程
- 获取系统进程
- JAVA获取系统进程
- 一步一步写算法(之入栈出栈)
- 使用response Redirect时候出现的错误
- 遥感基本概念
- 反射系列
- PHPCMS 2008 标签调用时间的格式说明
- 获取系统所有进程
- smarty自定义函数
- dl,dt,dd,ul,li,ol区别及应用
- 我是如何成长的(走向测试技术专家之路)
- 分页代码
- phpcms2008常用函数
- 黑马程序员---------关于socket编程
- 意外断电 。服务器出现 无法正常家在硬盘
- 开发人员非常有用的Java功能代码(1-10)