点击这里给我发消息 点击这里给我发消息

VC++实现任务管理器源码,解决CListCtr刷新时滚动条跳到开始处

添加时间:2013-12-7
    相关阅读: 网络 C++ VC 百度

任务管理器应该大家都很熟悉,论坛里也有好多的任务管理器的源码,大家都知道windows自带的任务管理器在刷新的时候滚动条并不会滚动,而用MFC的CListCtrl实现的任务管理器在刷新的时候滚动条会跳回开始处,那么怎么可以让滚动条不动呢?我百度了好久,还是没有找到答案。不知道大家有没有好的方法,有的话希望可以分享一下,不胜感激。由于苦苦找不到答案,于是我就想了一种新的方法,不知道别人有没有用过哦。。。
方法很简单,就是只刷新更改的项。
具体见源码。
我在论坛的另一篇帖子 VC++实现网络连接查看器源码也可以用类似的方法解决刷新时的问题,有兴趣可以去修改一下。
此次把SkinSharp的36套皮肤一起打包上来。
关于SkinSharp的使用可以百度

大家在RefreshData这个函数中加入如下代码:        if (pProcItem->dwProcessID == pe32.th32ProcessID &&

                                strcmp(pProcItem->szExeFile, pe32.szExeFile) == 0)

                        {

                                bIsExist = TRUE;

                                //反斜杠包含的为新加代码

                                ////////////////////////////////////////////////////////////

                                strExePath = m_List1.GetItemText(i, 4);

                                if (strExePath.IsEmpty())

                                {

                                        strExePath = GetProcessPath(pe32.th32ProcessID);

                                        m_List1.SetItemText(i, 4, strExePath);

                                       

                                        SHGetFileInfo(strExePath, 0, &info, sizeof(info), SHGFI_ICON | SHGFI_SYSICONINDEX | SHGFI_SMALLICON);

                                                 

                                        m_List1.SetItem(i, 0, LVIF_IMAGE | LVIF_TEXT, pe32.szExeFile, m_ImageList.Add(info.hIcon), 0, 0, 0);               

                                }

                                /////////////////////////////////////////////////////////////

 

                                m_List1.SetItemText(i, 5, "TRUE");

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册