如何获取正在运行任务的列表?

 From:http://www.sf.org.cn/Article/symbiandev/200710/20623.html

设备, 软件版本:
S60 1st Edition S60 2nd Edition and FP1, FP2, FP3 S60 3rd Edition and FP1
Series 80 2nd Edition

详细描述:
描述
Symbian操作系统的应用程序框架提供了一组API用以获得当前正在运行的任务的信息(无论其在前台或后台运行)。

解决方案:
我们可以使用TApaTaskList获取当前正在运行的任务的列表。具体任务是通过正在运行的程序window group来识别的,在构造TApaTaskList时我们需要将window server的session作为参数传递进去。

#include <apgtask.h>

// link against apgrfx.lib
TApaTaskList tasklist(CCoeEnv::Static()->WsSession());
TApaTask taskInForeground = tasklist.FindByPos( 0 );

// Window Group ID of the foreground task
TInt WindowGroupIdentifier = taskInForeground.WgId();

// Thread ID of the foreground task
TThreadId ThreadIdentifier = taskInForeground.ThreadId();

TApaTaskList中第一个任务是在前台运行的那个(相关window group位置顺序是从0开始的)

TApaTask包括很多与task相关的有用信息,如线程标识(ThreadId())以及window group标识(WgId()).

此外,还有一些有用的函数,如EndTask(),用来请求某任务的正常关闭,以及KillTask()用来直接中止某任务。

SendToBackground()以及BringToForeground()方法可以用来控制程序在任务列表中的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值