一个简单的 Windows Mobile 5.0 任务枚举器






4.38/5 (6投票s)
适用于 Windows Mobile 智能手机的一个简单的任务枚举器。
引言
这是 Windows Mobile 5.0 任务管理活动的一个组成部分。我希望这能让你了解 Windows Mobile 5.0 任务管理 API 及其实现。我相信你对 Win32 架构有很好的了解才能完全理解这些内容。
关于 Windows 任务管理器
Windows 任务管理器是 Windows 操作系统扩展的用户界面,旨在帮助用户管理任务。该用户界面包含基本任务(进程)上下文的所有详细信息,并以友好的界面呈现。我尝试使用 VC++/MFC 在 PC 世界中创建类似这样的界面。
相关的 API
与其详细解释完整的源代码,我将向你介绍任务管理相关的 API。由于包含 TerminateProcess
、EnumerateProcess
等 API 的基本进程库在 Windows Mobile 环境中不可用,我尝试使用其他 API。
我创建了一个线程在后台运行以枚举所有任务。请参阅线程 DWORD WINAPI ProcessViewThread(PVOID lParam)
。
现在开始
- 线程首先使用
CreateToolhelp32Snapshot()
API 获取系统进程的快照,该 API 返回一个句柄以供后续使用。 - 然后,线程调用
Process32First()
以将第一个进程的详细信息获取到预定义的PROCESSENTRY32
结构中。 - 它通过处理
LB_ADDSTRING
Windows 列表控件消息,向 GUI 中添加的列表控件发送 Windows 消息,以通知其中有新的条目。 - 然后,它迭代调用
Process32Next()
,直到返回FALSE
。这意味着已捕获所有进程的所有信息。 - 但是,程序应通过调用
CloseToolhelp32Snapshot()
安全地关闭快照句柄,以避免资源/句柄泄漏。
这就是全部内容。
需要进一步修改
- 枚举所有进程的列表框列出它们的速度非常慢。如果你能将所有进程名称收集到缓冲区中,并以常规方式在列表框中更新它,那就太好了。
- TODO:目前正在努力改进 GUI,包括更多进程详细信息等项目。
最新添加
- 添加了停止进程的功能。
- 添加了软键启用操作。
征集评论。