获取当前运行的进程列表(不包含EXE程序)

本文介绍了一种在特定操作系统环境下获取当前所有运行进程信息的方法,并通过代码示例展示了如何将这些信息记录到日志文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 偶尔研究获得进程列表,当然也是工作需要。
   以前感觉挺神秘! o(︶︿︶)o 唉,挺简单的,保存到一个Log文件中了。不说费话了,直接代码:
用到的头文件:
#include <apgcli.h>
#include <apaid.h>
#include <apgtask.h>
#include <eikenv.h>
库文件:
euser.lib 
apgrfx.lib
apparc.lib
efsrv.lib  
estor.lib
charconv.lib
eikcore.lib
定义:

public:

   ~CGetCurrentTaskHandler();

   static CGetCurrentTaskHandlerNewL();

   static CGetCurrentTaskHandlerNewLC();

   void GetTaskSequence();

private:

   CGetCurrentTaskHandler();

   void ConstructL();

private:

   TInt          iAppUid;

   CLogger*      iLog;

实现:
RApaLsSession RSession;

   TInt vAppUid = 0;

 

   User::LeaveIfError(RSession.Connect());

   RSession.AppCount(vAppUid);

 

   iAppUid = vAppUid;

   RSession.GetAllApps();

   if (vAppUid > 0)

      {

      TApaAppInfo vAppInfo;

      for (TInt vi = 0; vi < iAppUid; vi++)

        {

        RSession.GetNextApp(vAppInfo);

        iLog->WriteTDesC16L(_L("/r/n"));

        iLog->WriteTDesC16L(vAppInfo.iFullName);

        iLog->WriteTDesC16L(_L("/r/n"));

        iLog->WriteTInt16(vAppInfo.iCaption.Length());

        iLog->WriteTDesC16L(_L("/r/n"));

        iLog->WriteTInt16(vAppInfo.iShortCaption.Length());

        iLog->WriteTDesC16L(_L("/r/nUID: "));

        iLog->WriteTInt16(vAppInfo.iUid.iUid);

        iLog->WriteTDesC16L(_L("/r/n"));

        iLog->WriteTDesC16L(_L("/r/n---------------/r/n"));

        }

      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值