WINCE 任务管理器的实现

作者:太阳下的泪

转自:http://blog.sina.com.cn/s/blog_5be1061c0100b44k.html


   今天把我以前的一个工作文档发上来和大家交流.

  一般来说,做任务管理器,都是借用WINCE系统的Toolhelp.lib,通过相应API来得到当前运行的进程,但这个比较麻烦,因为很多系统的进程也会找到,这样你就要多一步去过滤掉一部份,下面我介绍一个自己写的程序,比较容易,比较方便,也比较实用.

 

在程序初始化时,通过搜索当前运行的窗口,可以得到运行了哪个进程,相应在画上进程正在运行的图标,图略。在点击相应的图标,把该进程的窗口显示。

 

1.得到当前运行进程:可以从窗口名和窗口类名得到,使用FindWindown函数。如下:

void FindCurrentProcess(void)

{

//  HWND hwndFind;

   if(FindWindow(_T("AudioPlayer"),_T("AudioPlayer"))||(FindWindow(_T("FM"),_T("FM"))))

    {

       Audio_Enable = true;

    }

   if(FindWindow(_T("TxtViewer"),_T("TxtViewer")))

    {

       Ebook_Enable = true;

    }

   if(FindWindow(_T("bluetooth"),_T("bluetooth")))

    {

       BT_Enable = true;

    }

   if(FindWindow(_T("CARELAND_NAVIGATION"),_T("CARELAND NAVI")))

    {

       GPS_Enable =true;

    }

}

    2.点击图标打开进程

  如:点击播放器进程:

  if((CurrentProcess == ID_AUDIO_ENABLE)&& Audio_Enable)

    {

       EffectProcess = true;

        //绘制点击后图标

       m_bitmap =new CBmp(hInst,MAKEINTRESOURCE(IDB_AUDIO_DOWN));

       m_bitmap->Draw(hdcNewPic,64,2);

       m_bitmap->Free();

       Sleep(200);

 

        //将进程放到前台运行

       hwndCurrentProcess =FindWindow(_T("AudioPlayer"),_T("AudioPlayer"));

       if(!hwndCurrentProcess)

           hwndCurrentProcess = FindWindow(_T("FM"),_T("FM"));

       ShowWindow(hwndCurrentProcess,SW_SHOW);

    }

 

 

就是这样,界面上请朋友们自己去做了,实现方法就这么简单.请大家指点.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值