65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.38/5 (6投票s)

2005年12月11日

CPOL

2分钟阅读

viewsIcon

65414

downloadIcon

444

适用于 Windows Mobile 智能手机的一个简单的任务枚举器。

引言

这是 Windows Mobile 5.0 任务管理活动的一个组成部分。我希望这能让你了解 Windows Mobile 5.0 任务管理 API 及其实现。我相信你对 Win32 架构有很好的了解才能完全理解这些内容。

关于 Windows 任务管理器

Windows 任务管理器是 Windows 操作系统扩展的用户界面,旨在帮助用户管理任务。该用户界面包含基本任务(进程)上下文的所有详细信息,并以友好的界面呈现。我尝试使用 VC++/MFC 在 PC 世界中创建类似这样的界面。

相关的 API

与其详细解释完整的源代码,我将向你介绍任务管理相关的 API。由于包含 TerminateProcessEnumerateProcess 等 API 的基本进程库在 Windows Mobile 环境中不可用,我尝试使用其他 API。

我创建了一个线程在后台运行以枚举所有任务。请参阅线程 DWORD WINAPI ProcessViewThread(PVOID lParam)

现在开始

  1. 线程首先使用 CreateToolhelp32Snapshot() API 获取系统进程的快照,该 API 返回一个句柄以供后续使用。
  2. 然后,线程调用 Process32First() 以将第一个进程的详细信息获取到预定义的 PROCESSENTRY32 结构中。
  3. 它通过处理 LB_ADDSTRING Windows 列表控件消息,向 GUI 中添加的列表控件发送 Windows 消息,以通知其中有新的条目。
  4. 然后,它迭代调用 Process32Next(),直到返回 FALSE。这意味着已捕获所有进程的所有信息。
  5. 但是,程序应通过调用 CloseToolhelp32Snapshot() 安全地关闭快照句柄,以避免资源/句柄泄漏。

这就是全部内容。

需要进一步修改

  1. 枚举所有进程的列表框列出它们的速度非常慢。如果你能将所有进程名称收集到缓冲区中,并以常规方式在列表框中更新它,那就太好了。
  2. TODO:目前正在努力改进 GUI,包括更多进程详细信息等项目。

最新添加

  1. 添加了停止进程的功能。
  2. 添加了软键启用操作。

征集评论。

© . All rights reserved.